Power BI est un outil puissant qui est utilisé à la fois pour le libre-service et le développement en mode entreprise. Malheureusement, le format de fichier PBIX présente des défis pour la création et la maintenance de jeux de données complexes servant de couches sémantiques gouvernées. L’introduction toute récente du format Tabular Model Definition Language (TMDL) permet aux équipes souhaitant développer des jeux de données avec autant de rigueur qu’elles le faisaient lors de la création de cubes SQL Server Analysis Services et facilite les déploiements automatisés (DevOps).
Afin de simplifier l’expérience utilisateur, l’outil de conception Power BI Desktop permet de créer un jeu de données et un rapport dans un seul fichier PBIX. Ce fichier contient aussi les données en mode import ou composite, qui sont les modes offrant les meilleures performances et le plus grand nombre de fonctionnalités.
En mode entreprise, il est fortement recommandé de concevoir un jeu de données comme une couche sémantique réutilisable et de le séparer des rapports qui l’utilisent.
Cela signifie qu’on se retrouve avec un PBIX pour le jeu de données et plusieurs PBIX pour les rapports qui l’utilisent (il faut d’abord déployer le jeu de données dans le service Power BI).
Il reste toutefois les problèmes suivants :
Cela rend plutôt difficile l’utilisation d’un outil de contrôle de source pour le suivi des modifications : problème de volume et incapacité de comparer.
Mathias Thierbach, connu pour l’outil pbi-tools, a développé le Tabular Model Definition Language (TMDL) directement dans le code source de Power BI sans être un employé de Microsoft (il fait partie du programme « Power BI Contributor » qui permet à certains développeurs tierces partie de contribuer au code officiel de Power BI). L’avantage est que ce sera officiellement supporté par Microsoft contrairement à d’autres options qui sont uniquement supportées par la communauté !
Les objectifs étaient les suivants :
Microsoft a annoncé en préversion le TMDL le 11 avril 2023.
Actuellement, le développement avancé des jeux de données se fait avec un fichier *.BIM (supporté par Tabular Editor ou Visual Studio) qui contient du TMSL. Ce schéma Json est parfait pour les machines, mais peu lisible et pas idéal pour les humains. De plus, comme il contient toute la définition du modèle, il est moins pratique de l’archiver dans un outil de contrôle de source.
C’est pourquoi les outils comme Tabular Editor et pbi-tools permettent de générer un répertoire qui contient plusieurs fichiers TMSL (*.json) afin de faciliter l’identification des changements granulaires.
C’est une amélioration en soi, mais l’édition reste compliquée à cause des contraintes du format JSon (ex. partie « expression » ci-haut). De plus, cette structure de répertoire n’est pas officiellement supportée par Microsoft.
Le nouveau format TMDL est un format lisible et modifiable avec n’importe quel éditeur texte. Il divise un jeu de données Power BI en un répertoire de fichiers *.tmd.
Le tout est supporté officiellement par Microsoft et exploitable par la librairie TOM afin que les outils externes puissent sérialiser / désérialiser en TMDL. Tabular Editor et pbi-tools vont le supporter bientôt. Une extension à Visual Studio Code va même ajouter de la coloration syntaxique pour en faciliter l’édition.
L’expérience utilisateur pour la comparaison lors des modifications à un jeu de données sera grandement améliorée par rapport à l’utilisation de TMLS (*.bim) :
Dans la partie démonstration de la conférence, Thierbach montre un processus de déploiement automatisé avec Azure DevOps pour publier un jeu de données après un « pull request » dans Git. Cela utilise d’autres outils existants, dont pbi-tools afin de réaliser les différentes étapes pour :
Le Pull Request dans Azure DevOps
Une partie des étapes pour le déploiement automatisé DevOps
Le jeu de données publié et actualisé dans le service Power BI
Les métadonnées font partie du modèle du jeu de données
Un exemple des valeurs pour ces métadonnées
Ainsi, il est possible de développer des pipelines Azure DevOps qui peuvent déployer un jeu de données de manière automatisée à la suite de modifications (ex. ajout de mesures DAX). Pour des modèles Power BI complexes, grandement utilisés et critiques à l’organisation, cette approche amène une industrialisation du processus et tous les bénéfices qui en découlent :
Mais cela demande d’acquérir des compétences avec l’automatisation DevOps du volet Power BI.
SYNTELL a peut-être un emploi qui pourrait vous intéresser! Rendez-vous sur la section Carrières de SYNTELL.
À noter qu’en tant que partenaire certifié Or Microsoft en analytique de données, SYNTELL offre plusieurs formations Power BI, de la découverte de la solution à l’architecture de solution Power BI, en passant par la modélisation, la visualisation et l’intégration. Pour en savoir plus, contactez SYNTELL.
Retourner à la page blogue