Les datamarts Power BI
Gérez vos sources de données métier
Didier Maignan
Editions ENI
Préface
Avant-propos
Chapitre 1
Comprendre les datamarts Power BI
1. Définitions13
1.1 Datamart générique13
1.2 data mesh15
1.3 Datamart Power BI17
2. Architecture technique22
2.1 Schéma d'architecture technique22
2.2 Recommandation de Ralph Kimball et Margy Ross26
2.3 Conseil d'architecture des données28
2.4 Conseil d'architecture en multidatamart30
2.5 Conseils liés à la traduction35
2.6 Port de connexion39
2.7 Mode de connexion39
2.8 Mise en cache proactive40
3. Les points forts du datamart41
3.1 Un dispositif sûr, centralisé et unique41
3.2 Nombre de connecteurs aux sources de données42
3.3 Une analyse automatique sous Power BI43
3.4 Un export de table très puissant45
3.5 Des rapports paginés pour les utilisateurs47
3.6 Des requêtes SQL pour les IT Pro49
3.7 Un périmètre de données réglable et à jour49
3.8 Un outil de déploiement qui fait gagner du temps50
3.9 Une analyse Excel directe52
4. Les points faibles du datamart54
4.1 Les connecteurs absents54
4.2 Un logiciel jeune54
4.3 Le chargement des données55
4.4 Une gestion des droits simple56
4.5 Limites techniques57
5. Les fonctions du datamart59
5.1 Vue d'ensemble du périmètre59
5.2 Processus à suivre60
5.3 Sourcer les données60
5.4 Traiter les données en Power Query62
5.5 Modéliser les données.63
5.6 Administrer et supporter le dispositif63
6. Coût des datamarts69
6.1 Licence d'évaluation70
6.2 Achat de licence71
6.2.1 Licence Premium par utilisateur74
6.2.2 Capacité Fabric75
6.2.3 Licences Fabric76
7. Comparatif Dataflow, Dataset et datamart77
7.1 Datamart versus flux de données77
7.2 Hiérarchie de l'information dans un Power BI avec flux de données81
7.3 Datamart versus modèles sémantiques partagés86
7.4 Datamart versus Fabric89
8. Liens utiles93
Chapitre 2
Initialiser votre datamart
1. Mettre en place les prérequis95
1.1 Groupes Entra ID95
1.2 Licence96
1.2.1 Licence d'évaluation97
1.2.2 Achat de licence101
1.2.3 Droits requis103
1.3 Nommage conseillé104
1.3.1 Nom des espaces de travail104
1.3.2 Nom des domaines Fabric104
1.3.3 Nom des datamarts105
1.3.4 Connexion nommée106
1.3.5 Nom des tables106
1.4 Espace de travail107
1.4.1 Domaines .107
1.4.2 Mode opératoire111
1.5 Initialisation pour le compte d'un tiers116
1.6 Préparation des mesures117
2. Conseils de mise en place et de conception118
2.1 Outils complémentaires utiles119
2.2 Les différents modèles de données122
2.2.1 Modèle en synapse122
2.2.2 Modèle en flocon124
2.2.3 Modèle en étoile (modèle recommandé)126
2.3 Recommandations sur les tables127
2.3.1 Table de mesure127
2.3.2 Tables de dimension130
2.3.3 Table de fait133
2.3.4 Exhaustivité134
2.4 Considérations sur les droits d'accès134
2.5 Considérations sur la performance136
2.6 Recommandations d'administration sur DirectQuery140
2.7 Les difficultés à prendre en compte142
2.7.1 Données sources de mauvaise qualité142
2.7.2 Table manquante dans le datamart144
2.7.3 Les difficultés en cas de colonne ou de relation manquante dans le datamart146
2.7.4 En cas de mesure manquante dans le datamart147
3. Créer le datamart148
3.1 Créer un nouveau datamart148
3.2 Créer une table de mesure150
3.2.1 Création en mode graphique no code151
3.2.2 Table des mesures en code M152
3.3 Tables de fait et de dimension154
3.4 Ajouter la dimension temps155
3.4.1 Ajout de dimension(s) temps en M156
3.4.2 Ajout de dimension temps en T-SQL162
3.4.3 Incorporation du calendrier Azuré SQL dans le datamart165
3.5 Ajouter la dimension géographique170
3.6 Retrouver et modifier un datamart184
3.7 Mettre en place une passerelle186
4. Mise en application193
Chapitre 3
Power Query Online
1. Principes de base195
1.1 Utilité et plus-value de Power Query Online195
1.2 Faiblesses de Power Query Online198
1.3 Utiliser Power Query Online ou DAX ?199
1.4 Outil externe201
1.5 Documentation Power Query203
1.6 Créer et transformer en mode graphique204
1.7 Paramétrage préalable conseillé209
1.8 Paramétrage postérieur impératif214
2. Différence entre Power Query Online et Desktop217
2.1 Écarts à prendre en compte217
2.2 Points non supportés et limites dans PQO219
2.2.1 Types et autres points non supportés219
2.2.2 Limites de PQO221
2.3 Améliorations apportées par PQO222
2.3.1 Meilleure information sur les étapes222
2.3.2 Affichage des dépendances229
3. Importer des données avec les connecteurs230
3.1 Importer une source SharePoint232
3.1.1 Fichier stocké dans SharePoint232
3.1.2 Liste SharePoint237
3.2 Importer une source JSON242
3.3 Fusionner des fichiers Excel depuis un compte de stockage246
3.4 Importer une source Excel ou CSV dans Azuré SQL DB259
3.5 Importer une base SQL Azuré DB270
3.5.1 Cas de la base Eurostoxx270
3.5.2 Exemple de la base Livres275
3.6 Importer une source Excel depuis OneDrive283
3.7 Importer un fichier depuis Microsoft Fabric OneLake286
4. Les fonctions Power Query les plus utiles295
4.1 Ajouter des tables spécifiques295
4.1.1 Ajout de table en dur en interface graphique295
4.1.2 Ajouter une table de mesure en langage M299
4.1.3 Ajouter une série de 1 à 20 pour un choix du Top N300
4.1.4 Ajout de table de date de dernier rafraîchissement en langage M302
4.1.5 Scénarii d'inflation par code M modifiable302
4.1.6 Ajout de tables d'analyse de qualité303
4.1.7 Ajout de table de profil de table307
4.2 Renommer ou supprimer une table308
4.3 Filtrer les lignes316
4.4 Ajouter des colonnes : points à éviter318
4.5 Ajouter et supprimer des colonnes (méthode éprouvée)320
4.5.1 Indicateur de week-end320
4.5.2 Numéro de semaine321
4.6 Transformer les colonnes de texte323
4.7 Supprimer ou remplacer les erreurs325
4.8 Supprimer ou remplacer les valeurs absentes328
4.9 Fusionner des tables334
4.10 Remplacer les erreurs de table ou de colonne341
4.11 Réaliser une grille de prix de revient343
4.12 Réaliser une fonction d'estimation de coût conditionnelle pour remplacer SWITCH344
4.13 Utiliser la fonction conditionnelle en Power Query Online346
4.14 Établir un rang sur une table348
4.15 Convertir les images et autres binaires351
4.16 Ajouter des paramètres365
4.16.1 Créer un paramètre d'inflation367
4.16.2 Créer un paramètre de langue371
4.16.3 Créer des fonctions pour automatiser les traitements373
5. Le Query Folding et ses indicateurs378
5.1 Cas 1 : Query Folding complet et Plan de requête380
5.2 Les étapes supportées383
5.3 Cas 2 : Query Folding partiel384
5.3.1 Source SQL384
5.3.2 Sources SharePoint387
5.4 Cas 3 : Query Folding bloqué389
Chapitre 4
Modéliser les données et créer les mesures
1. Améliorer son modèle de données393
1.1 Mesurer les tables394
1.2 Fusionner les petites tables trop nombreuses396
2. Marquer la table de dates396
3. Formater et renommer les colonnes du modèle sémantique400
4. Créer les relations401
4.1 Analyse dimensionnelle401
4.2 Analyse de dimension à dimension410
4.2.1 Gérer les images de catégories414
4.2.2 Modélisation des autres tables419
4.3 Documenter les relations et créer des relations temporaires421
5. Dénormaliser les tables422
6. Définition du DAX424
7. Spécificités du DAX de datamart424
8. DAX et les relations425
9. Documentation DAX430
10. Ergonomie DAX Online431
10.1 Mode d'emploi de DAX431
10.2 Déplacement de mesures d'une table à l'autre433
10.3 Dossier d'affichage436
11. Ergonomie DAX Studio437
12. Ergonomie ChatGPT446
13. DAX au secours du modèle de données figé454
14. Les fonctions DAX de rang459
14.1 Rang des meilleurs commerciaux460
14.2 Top 5 best-sellers461
14.3 Rang des Top N catégories464
15. Les fonctions DAX de moyenne mobile466
16. Fonction DAX conditionnelle476
16.1 Cas 1 : condition comparée sur une colonne478
16.2 Cas 2 : élaborer une série de conditions logiques480
Chapitre 5
Utiliser ou consommer le datamart
1. Vue d'ensemble487
2. Utiliser les requêtes visuelles488
2.1 Mode d'emploi des requêtes visuelles488
2.1.1 Récupérer la source de données exemple au préalable488
2.1.2 Aperçu de l'interface des requêtes visuelles490
2.2 Transformer les requêtes visuelles en code SQL497
3. Créer une requête SQL dans le datamart498
3.1 Mode opératoire498
3.2 Partager une requête499
3.3 Liste des raccourcis de l'éditeur SQL499
4. Exemples de requêtes SQL utiles500
4.1 Mesurer la taille de la base du datamart500
4.2 Lister les tables et leurs dates501
4.3 Compter le nombre de lignes d'une table504
4.4 Lire les relations entre les tables du datamart505
4.5 Afficher le contenu des tables avec ChatGPT506
5. Modalité d'authentification510
6. Consommer depuis Excel511
6.1 Requêter en Power Query Excel511
6.2 Tableau croisé dynamique Excel516
7. Consommer en ligne dans Power BI Service520
7.1 Consommer les rapports, en ligne522
7.2 Calculer une tendance528
7.3 Afficher les prévisions529
7.4 Gérer les images531
7.5 Consommer le datamart dans un tableau de bord534
7.6 Consommer dans une application Power BI538
7.7 Créer un état automatique - Insight546
7.8 Créer un rapport paginé547
8. Consommer depuis PowerPoint558
9. Consommer depuis Power BI Desktop561
9.1 Se connecter en Live Connect561
9.2 Se connecter au point de terminaison SQL566
10. Consommer depuis SSMS572
11. Consommer depuis Azuré Data Studio579
12. Consommer depuis les outils de BI externes (DAX Studio, Tabular Editor...)589
12.1 DAX STUDIO589
12.2 Tabular Editor599
13. Les explorations de données en ligne.601
Chapitre 6
Partager les datamarts
1. Introduction605
2. Détail des droits par niveau607
2.1 Droits niveau administration Power BI607
2.2 Droits d'espace de travail Premium609
2.3 Droits sur les datamarts614
2.4 Droits sur les rapports du datamart626
2.5 Datamart en cascade628
2.6 Droits par filtrage par ligne (RLS)628
2.6.1 Prérequis de la RLS628
2.6.2 Limite de la RLS629
2.6.3 Modalité d'usage629
3. Gestion des droits d'accès aux datamarts635
4. Le partage externe640
5. Gérer les langues et la traduction644
5.1 La localisation de l'expérience utilisateur645
5.2 Traduire les contenus des dimensions à la source650
5.3 Importer la traduction dans Azuré SQL653
5.4 Charger la table traduite dans le datamart655
5.5 Mettre en place les relations pour la dimension traduite ....657
5.6 Traduire le nom des mesures et les grouper par langue660
5.7 Adapter le contenu des mesures à la langue665
5.8 Ajout de localisation dans la dimension temps666
5.9 Utiliser tables et mesures traduites dans les visuels des rapports667
5.10 Traduire les dimensions sous Power Query670
5.10.1 Méthode de traduction par une formule conditionnelle en Power Query671
5.10.2 Méthode de traduction par glossaire multilingue674
5.11 Créer une formule Power Query et utiliser un paramètre de langue dans la formule678
5.12 Créer une table de langues à destination des consommateurs680
5.13 Réutiliser la dimension multilingue non filtrée685
5.14 Faire choisir la langue d'affichage par les utilisateurs686
5.15 Localiser la table de fait688
5.16 Traduire les titres de rapports690
5.17 Traduire les entités visuelles dans les rapports du portail695
5.18 Le RLS de traduction708
Chapitre 7
Gouverner les datamarts
1. Introduction715
2. Le rôle de LIT et du pôle Data718
3. Les rôles à prévoir pour les datamarts719
4. Instituer des règles de conduite721
4.1 Règles d'architecture721
4.2 Règles d'attribution des licences722
4.3 Règle des espaces de travail Premium722
4.4 Règle de développement-de datamart722
5. Les processus à prévoir723
5.1 Processus de gestion de projet BI agile723
5.2 Processus de gestion de projet en V et W725
5.3 Processus de certification, d'approbation et de découverte727
6. Pipelines de déploiement métier728
6.1 Mettre en place un pipeline de déploiement728
6.2 Mettre en place des règles de déploiement743
6.3 Organiser la recette748
Chapitre 8
Maintenir un datamart
1. Maintenance préventive753
2. Maintenance corrective et dépannage754
2.1 Monitoring des datamarts754
2.2 Monitoring des connexions759
2.3 Messages d'erreur du portail Power BI767
2.4 Les erreurs dans les requêtes visuelles769
2.5 Les erreurs de passerelle769
2.6 Les erreurs de consommation par Power BI Desktop770
3. Corriger les erreurs dans Power Query Online773
3.1 Erreur de version de datamart773
3.2 Erreurs d'étape774
3.3 Erreurs de niveau table775
3.4 Erreur de niveau colonne776
3.5 Gestion d'erreur pour les erreurs de niveau valeur777
3.6 Les messages d'erreurs PQO et leurs causes781
3.6.1 Vocabulaire nécessaire pour comprendre les messages.781
3.6.2 Tableau des erreurs PQO781
3.7 Exemples d'erreurs usuelles dans Power Query Online792
3.8 Prise de contrôle par un compte794
4. Actualiser un datamart en global798
5. Définir le périmètre du modèle sémantique du datamart800
6. Actualiser les données en incrémentiel801
7. Documenter les mises à jour des datarriarts804
8. Historiser les dàtamarts804
Index
807