Développement des jeux de données Power BI en mode entreprise grâce au format Tabular Model Definition Language (TMDL)

Par Frédérick Samson, 25 avril 2023

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).

Problématiques avec le format PBIX

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 :

  • Un PBIX est en fait un fichier .zip contenant une série de répertoires / fichiers
  • Il peut contenir des données (parfois beaucoup)

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.

La communauté à la rescousse

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 :

  • Faciliter la modification d’un jeu de données en mode texte (ex. copier/coller) en introduisant une syntaxe facile à éditer par des humains
  • Améliorer le suivi des modifications dans l’outil de contrôle de source utilisé (ex. Git repos) avec une granularité plus fine
  • Garantir la pérennité des investissements pour automatiser le déploiement des jeux de données Power BI avec un processus DevOps.
    • Par opposition à des solutions commerciales ou de la communauté
    • Compatible avec les pipelines de déploiement de Power BI Premium
      • Le déploiement dans l’environnement de DEV pourrait être entièrement géré par Azure DevOps
      • La graduation de DEV vers TEST puis TEST vers PROD pourrait être lancée par Azure DevOps (ex. après approbation manuelle), mais gérée par les pipelines de déploiement de Power BI Premium

Microsoft a annoncé en préversion le TMDL le 11 avril 2023.

C’est quoi le TMDL?

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.

C’est quoi les avantages du TMDL?

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) :

En quoi le TMDL peut-il m’aider pour mettre en place des déploiements automatisés?

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 :

  • Récupérer le code du repo Git
  • Consolider le répertoire de TMDL en un fichier *.BIM déployable
  • Ajouter des métadonnées au modèle tabulaire
    • Ex. Version, Environnement, Date, Informations Git
  • Publier le jeu de données via le point de terminaison XMLA de Power BI Premium
  • Actualiser le jeu de données

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 :

  • Gains en efficacité
  • Réduction des erreurs de manipulations manuelles
  • Traçabilité des déploiements et des modifications
  • Possibilité d’automatiser des jeux d’essais

Mais cela demande d’acquérir des compétences avec l’automatisation DevOps du volet Power BI.

Vous êtes accros à 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