Maintenir un datamart
Maintenance préventive
Le portail Power BI et les services datamarts sont gérés directement par Microsoft : de même que vous ne pouvez pas faire de sauvegarde des pages web du portail, vous ne pouvez pas sauvegarder ou restaurer vous-même les datamarts. C’est l’éditeur qui gère les couches basses de cette solution Software as a Service : vous n’avez pas la main en écriture, ni sur la base SQL qui lui sert d’infrastructure, ni sur le serveur d’analyse. Le seul point de réglage d’architecture est de pouvoir dimensionner une capacité Fabric spécifique si celle-ci est utilisée pour l’espace de travail. De même, vous ne pouvez ni exporter le paramétrage du datamart, ni sauvegarder, ni restaurer tout ou partie du datamart.
Par contre, dans un datamart, vous avez de multiples possibilités de gérer les données qui vont s’afficher ou pas, ainsi que la façon d’actualiser les données, ce que vous verrez respectivement dans la section Définir le périmètre du modèle sémantique du datamart puis dans la section Actualiser les données en incrémentiel de ce chapitre.
Compte tenu de l’éventualité d’erreurs critiques qui peuvent bloquer le chargement des données, il est vivement recommandé de :
-
Sauvegarder...
Maintenance corrective et dépannage
1. Monitoring des datamarts
Grâce au hub de supervision, accessible depuis toute page via la barre rapide de gauche, il est très rapidement possible de filtrer les datamarts, d’identifier leur état, avec le nom de leur espace de travail, le propriétaire (appelé ici destinataire) et la date de début.
L’adresse est : https://app.powerbi.com/monitoringhub
Sur cet écran, on voit notamment les travaux en échecs. Nous allons vous aider à les résoudre.
Les autres informations intéressantes issues des options de colonne - Appliquer de cette page sont :
-
le nom de l’espace de travail concerné, appelé Emplacement,
-
la Capacité de l’espace de travail (Premium per User, Premium per Capacity, Trial ou Fabric),
-
la Durée de chaque travail,
-
le Type d’actualisation, qui indique On Demand (pour « sur demande ») ou Scheduled (pour « planifié »),
-
le nombre d’actualisations par jour avec la colonne Actualisation par jour.
En utilisant plus d’options à droite du nom de chaque activité, un bouton Afficher l’historique d’exécution permet d’afficher l’historique des actualisations et leur état (échec ou opération réussie). Ce bouton permet de voir à quel moment le datamart était encore correct. Il n’apparaît pas lorsqu’il n’y a pas assez de temps écoulé pour établir un historique.
Pour identifier un problème d’actualisation, le plus important est d’accéder à l’espace de travail concerné et au datamart avec le compte propriétaire. Ici, le hub de supervision, que vous avez vu au début de cette section, identifiait Adèle sur ce rôle. Il faut donc se connecter avec son compte. En positionnant votre souris sur l’indicateur d’alerte, l’espace de travail signale tous les problèmes d’actualisation du datamart (sans donner le détail).
Dans le cas de l’espace de travail 5.Editions ci-dessus, vous pouvez vous apercevoir que deux datamarts sont en erreur : 5.Editions.Martyr et 5.Editions.Preprod.
Dans l’espace de travail où les deux datamarts sont en échec...
Corriger les erreurs dans Power Query Online
Dans Power Query, il y a quatre types d’erreurs : les erreurs d’étape, les erreurs de niveau valeur, les erreurs de niveau colonne et les erreurs de niveau table. Les erreurs de niveau valeur n’apparaissent que sur certaines lignes d’une colonne, parfois au-delà de l’aperçu visible des données.
1. Erreur de version de datamart
L’erreur qui arrive en cas d’usage intensif des datamarts est un message d’erreur de numéro de version de datamart au moment du chargement dans le modèle de données depuis Power Query Online : Échec du chargement des données - DatamartVersion Mismatch.
Le détail indiqué pour cette erreur est : the datamart ID XXX has changed to version current N since the operation has been submitted version Y. Please reload the version and retry the operation.
Vous avez probablement ouvert plusieurs fenêtres de navigateur et travaillez actuellement dans Power Query sur une page web du datamart dans une version qui est devenue obsolète, il faut donc Fermer et ensuite accepter par OK une récupération des changements faits dans PQO.
Lorsque vous chargez une seule table dans PQO, cela met à jour la version du datamart, il est souvent prudent de mettre à jour vos tables une par une. En cas d’erreur insoluble, vous pourrez revenir en arrière nativement en refusant toute récupération.
2. Erreurs d’étape
Les erreurs d’étape bloquent le chargement de la donnée de Power Query.
Les erreurs d’étape interviennent notamment lorsqu’il y a une source non structurée comme une feuille Excel. Il suffit alors que la colonne change de nom pour que les étapes codées en dur, comme les étapes de typage, ne passent plus. Dans ce dernier cas, un message d’erreur de colonne non trouvée dans la table apparaît, ce qui permet d’agir directement sur la cause. Il est conseillé de réaliser les étapes de typage en toute fin de script d’étape PQO.
Dans Power Query Online, quand il y a une erreur d’étape quelque part, il n’y a malheureusement pas de bouton pour savoir exactement à quelle étape l’erreur se trouve. Le bouton Détail donne...
Actualiser un datamart en global
L’actualisation par défaut est celle qui couvre toutes les tables. L’actualisation globale peut être répétitive ou manuelle, au moment de la mise à jour ou bien de la vérification des données sources.
La planification manuelle se fait par ce mode opératoire :
Allez sur l’espace de travail Premium du datamart avec un affichage en mode liste.
Cliquez sur Plus d’option et Actualiser maintenant.
L’actualisation répétitive se prévoit dans les paramètres Power BI dans la limite de 48 actualisations par jour.
En cliquant sur l’historique, vous pouvez voir le statut de réussite ou d’échec. La première actualisation à 10 h 36 (avant la prise de contrôle) était en échec (failed), celles de 10 h 54 et 10 h 56 ont fonctionné complètement. Cela montre que la prise de contrôle s’est bien passée.
En cliquant ensuite sur Planifier l’actualisation, dans la section Actualiser, il faut - la première fois - activer la configuration de planification.
Vous pouvez alors régler l’horaire des actualisations en fonction des sources et des pays utilisateurs, sur la base de 48 fois maximum.
Remplissez le nom du support et celui du contact qui doivent recevoir les échecs...
Définir le périmètre du modèle sémantique du datamart
Par défaut, toutes les tables du datamart font partie du modèle sémantique de données (le jeu de données exposé aux utilisateurs). Mais ceci peut désormais être personnalisé.
On peut exclure une ou plusieurs tables du modèle sémantique pour les utilisateurs depuis Gérer le modèle sémantique. Le propriétaire pourra travailler dessus dans Power Query, mais les utilisateurs ne la verront plus, c’est une façon de la neutraliser le temps de la mettre au point ou de la réparer.
Voici le mode opératoire pour retirer des tables du jeu de données par défaut :
Modifier le Datamart - Onglet Rapports - Gérer le modèle sémantique par défaut - désélectionnez les tables à faire disparaître du modèle sémantique. Cliquez sur Confirmer.
Pour revenir au jeu de données complet prévu par défaut, utilisez la commande Mettre à jour automatiquement le modèle sémantique depuis le menu Rapports du datamart.
Actualiser les données en incrémentiel
De grandes quantités de données peuvent être importées dans un datamart, mais dans ce cas, actualiser toutes les lignes de toutes les tables n’a pas nécessairement de sens. L’actualisation incrémentielle met à jour les données uniquement pour la ou les quelques tables que vous choisissez, avec un réglage fin de ce qui doit être actualisé ou non.
L’actualisation incrémentielle a pour prérequis un format Date en Date et Heure.
Ensuite, effectuez les étapes suivantes :
Sélectionnez la table concernée dans l’explorateur de tables.
Cliquez sur le ruban Outils de table puis sur la commande Actualisation incrémentielle.
Choisissez le champ Date de votre table de fait.
Entrez la période de stockage Jour - Mois ou Trimestre, qui est la période de conservation des données dans le datamart Power BI. Ici, tout ce qui date de plus de 3 ans est écarté pour ne conserver que les données récentes.
Entrez la période d’actualisation Jour - Mois ou Trimestre avec une valeur de 1 à 120, sachant que la granularité d’actualisation doit être inférieure à celle de stockage. Ceci est l’amplitude des données qui va être actualisée dans le datamart...
Documenter les mises à jour des datamarts
Chaque code M doit être versionné. À chaque version livrée sont fournis :
-
le code M de toutes les tables,
-
le code des mesures DAX,
-
les exports Excel de la liste des tables et de la liste des champs de chaque table,
-
les exports Excel de la table des relations entre tables et de celle des relations entre colonnes.
En cas d’anomalie, il sera rapide de mettre en ligne la version précédente.
Historiser les datamarts
Nous avons vu, dans la section Maintenance préventive de ce chapitre, la liste des éléments à sauvegarder. Il y a une historisation des actualisations dans le hub de supervision de Power BI.
En revanche, la sauvegarde et la restauration via Github ne fonctionnent pas (encore) pour les datamarts, alors que c’est prévu pour Microsoft Fabric.
Un tableau des mises à jour devrait être sauvegardé dans chaque espace de travail Premium. En voici une trame :
Tableau des mises à jour du datamart 1.libellé
Date de dernière mise en production
Stockage : nom de l’espace Premium
|
NOM |
Date |
VISA |
Créé par |
Didier Maignan |
15/1/2023 |
|
Vérifié par |
Nicole Efira |
20/2/2023 |
|
Approuvé par |
Marius Beaune |
28/12/2023 |
|
Suivi des modifications
Version |
Date |
Objet |
1.1 |
15/1/2023 |
Création du socle |
1.2 |
28/4/2023 |
Ajout, de Dataflow, de DAX |
1.3 |
4/5/2023 |
Ajout des tables métier A et B |
Liste des tables et mesures du datamart
Nom |
Référence Code M |
Table 1 |
table1.pq |
Table2 |
table2.pq |
Mesure1 |
mesure1.dax |
Mesure2 |
mesure2.dax |
Ceci permet également de retrouver rapidement une table parmi une série de jeux de données en ligne.
Liste des datamarts (du service conbiservice w55did4ty67dier6dacux3oci)
Datamart... |