Gestion des erreurs dans Power Automate via le branchement parallèle
Découvrez l
J'aimerais présenter les meilleures pratiques que j'ai adoptées lors de la préparation des rapports LuckyTemplates. Au cours des dernières années, j'ai consommé de nombreuses ressources en ligne sur le chargement et la transformation des données qui ont joué un rôle déterminant dans mon parcours, mais j'ai rapidement été submergé par le contenu, alors j'ai fini par prendre mes propres notes. Vous pouvez regarder la vidéo complète de ce tutoriel au bas de ce blog.
Il ne s'agit en aucun cas d'une liste exhaustive ni des meilleures pratiques - ce ne sont que quelques-unes de celles que j'ai incorporées dans mon propre développement. En outre, les meilleures pratiques évoluent toujours au fil du temps à mesure que des fonctionnalités nouvelles et améliorées sont introduites dans l'application LuckyTemplates et sont présentées par la communauté LuckyTemplates.
Je voudrais présenter le premier des quatre piliers du développement LuckyTemplates. Les quatre piliers sont le chargement et la transformation des données , la modélisation des données , les calculs DAX , les rapports et les visualisations . Nous traiterons de la configuration de pré-développement et du premier pilier dans cet article de blog.
Table des matières
Désactivation de la date/heure automatique
Il est fortement recommandé de désactiver la fonction de date et d'heure automatiques dans . Vous pouvez le faire de deux manières.
Vous pouvez le faire globalement pour tous les fichiers en procédant comme suit :
Vous pouvez également le désactiver pour le fichier en cours en modifiant son paramètre.
Désactivation des relations de détection automatique
Il est également fortement recommandé de désactiver les relations de détection automatique. Vous pouvez accéder à Fichier et afficher les options et les paramètres pour désactiver la détection automatique de nouvelles relations après le chargement des données.
Interagir avec les visuels dans les rapports LuckyTemplates
La prochaine chose dont je veux parler est les deux façons dont vous pouvez interagir avec les visuels dans les rapports LuckyTemplates. Ces interactions peuvent faire l'objet d'un filtrage croisé ou d'une mise en surbrillance croisée .
La surbrillance croisée est activée par défaut dans LuckyTemplates. Vous pouvez changer cela en allant dans Fichier puis Options et paramètres. Pour le fichier actuel dans la section des paramètres du rapport, vous pouvez modifier l'interaction visuelle de la surbrillance croisée au filtrage croisé.
Jetons un coup d'œil à notre rapport. Vous pouvez voir que par défaut, LuckyTemplates utilise la surbrillance croisée sur les visuels associés. Si je clique sur un canal dans le graphique à barres de gauche, vous verrez que la partie sélectionnée est mise en surbrillance en couleur sombre tandis que la partie non sélectionnée reste en couleur claire dans le deuxième graphique à barres.
Vous pouvez voir que la forme complète ne change pas dans le graphique et que vous ne voyez que les parties en surbrillance. Vous pouvez modifier cela à partir des paramètres du rapport et modifier l'interaction visuelle par défaut de la surbrillance croisée au filtrage croisé.
Une fois que vous avez fait cela, vous verrez que la forme de votre graphique à barres associé changera chaque fois que vous effectuez une sélection ou un groupe de sélections. C'est une bonne pratique à adopter.
Séparer l'ensemble de données du rapport
La prochaine chose dont je veux parler est de séparer le développement de votre jeu de données du développement de votre rapport. C'est là que vous pouvez avoir un fichier de jeu de données épais publié en tant que jeu de données autonome qui n'a pas de visuels, et un développement de fichier de rapport léger qui utilisera ces jeux de données publiés.
L'un des avantages de la publication d'ensembles de données séparément est que vous pouvez utiliser le processus d'approbation dans le service LuckyTemplates pour promouvoir et certifier des ensembles de données. L'idéal est de sélectionner un jeu de données approuvé, de préférence certifié, lorsque vous développez un nouveau rapport.
Création d'un tableau de dates dédié
Assurez-vous que votre rapport comporte un tableau Dates dédié dans votre rapport. Vous pouvez utiliser le disponible sur le forum LuckyTemplates. Vous pouvez copier et coller le code M dans une requête vide.
La deuxième chose à faire une fois que vous avez une table Dates dédiée est de la marquer comme telle. Cela lui permettra d'être utilisé par LuckyTemplates pour les calculs d'intelligence temporelle.
Autres rappels pour le tableau des dates
Assurez-vous toujours que votre tableau de données est contigu et qu'il y a une ligne par jour. Vérifiez également qu'il recouvre entièrement les bords de votre table de faits.
Ajoutez également des années complètes au tableau Dates. C'est également une bonne idée d'ajouter une année future supplémentaire à la table Dates pour permettre tout calcul d'intelligence temporelle future ou prévisionnelle.
Si vous avez plus de jours dans votre tableau Dates que vous ne souhaitez afficher sur votre rapport, vous pouvez contrôler ce qui est affiché dans les segments à l'aide de la colonne IsAfterToday ou des colonnes de décalage disponibles dans le volet de filtre.
Poser des questions sur le rapport
La prochaine chose dont je veux parler est de savoir si vous devriez faire un rapport. Pendant que vous le faites, vérifiez s'il existe un rapport existant que vous pouvez utiliser pour répondre à vos besoins. S'il n'y a pas de rapport, existe-t-il un modèle de données existant que vous pouvez utiliser pour répondre au besoin ? Existe-t-il un ensemble de données existant que vous pouvez utiliser ou devez-vous réellement recommencer à zéro ?
Données de mise en scène et de référencement
La prochaine chose dont il faut parler lors du chargement des données est la mise en scène et les données de référence. Lorsque vous chargez un tableau de données plat, vous pouvez avoir des faits et des dimensions dans le même tableau comme un fichier Excel. Lorsque vous effectuez un chargement et que vous le déplacez dans une section de requête intermédiaire et que vous le renommez, vous pouvez décocher Activer le chargement .
L'étape suivante consiste à créer une référence de cette table pour chaque dimension de fait et de recherche et à renommer les tables de manière appropriée. Modifiez chaque référence, ne conservez que les colonnes nécessaires et supprimez les doublons.
Organisez votre modèle de données et placez-le dans son propre groupe. J'ai toujours un groupe dans mes modèles de données appelé Data Model qui contient toutes les tables que je vais utiliser dans mes visuels.
Réduire la charge de données
La prochaine chose dont il faut parler est la performance de l'outil lors du chargement des données. Le volume de données est l'un des éléments les plus importants qui influent sur les performances. Efforcez-vous donc de réduire autant que possible la quantité de données à charger .
Suivez cet axiome :
Si vous n'en avez pas besoin, ne le récupérez pas.
Il est beaucoup plus facile d'ajouter de nouvelles choses dans un rapport que de retirer des éléments de notre rapport. De plus, lorsque vous mettez trop d'éléments dans un rapport, vous payez une pénalité pour des performances dont vous n'avez pas besoin.
De préférence, faites votre filtrage dans la source. Si vous ne pouvez pas le faire dans la source, utilisez la flèche déroulante du filtre automatique dans la requête avancée pour filtrer les champs qui vous intéressent.
Toujours dans la source, vous pouvez également réduire le nombre de colonnes affichées en utilisant le menu déroulant Choisir les colonnes et en sélectionnant uniquement les colonnes qui vous intéressent.
Vous pouvez utiliser Choisir les colonnes ou Supprimer les colonnes . Je recommande d'utiliser Choisir les colonnes comme meilleure pratique car il est facile de revenir en arrière.
Si vous changez d'avis ultérieurement, cela vous permet de le faire rapidement via l'interface utilisateur au lieu d'aller dans l'éditeur avancé et de modifier directement le code M.
Pliage de requête
Le pliage de requête est une autre tentative de chargement de données par LuckyTemplates pour combiner plusieurs étapes de sélection et de transformation de données en une seule requête de source de données.
Pour déterminer si une requête est pliée, cliquez avec le bouton droit sur les étapes appliquées d'une requête. Vous pouvez voir si une requête native est grisée.
S'il est grisé, la requête n'est pas pliée. S'il n'est pas grisé, la requête peut être pliée.
Passons à Transform data , puis power query . Dans ce tableau, si je clique avec le bouton droit sur l'étape de navigation, je peux voir que la requête Afficher la requête native n'est pas grisée, je peux donc la sélectionner.
Nous verrons ici une simple instruction de sélection SQL.
Si nous passons à l'étape suivante une fois le filtrage effectué et que nous affichons la requête native, nous pouvons voir que la requête a été légèrement modifiée et qu'il y a une clause "where" au bas de cette requête.
Si nous passons à la troisième étape et que nous faisons un clic droit dessus, nous pouvons voir que la requête native n'est pas grisée, nous pouvons donc la sélectionner une fois de plus.
Une fois que nous avons sélectionné, nous pouvons voir qu'il y a un effondrement encore plus important des trois requêtes en une seule. C'est LuckyTemplates qui dit que la meilleure façon d'intégrer les données dans le modèle est que la source fasse le travail plutôt que moi.
Utilisation de sources de données pour le pliage de requête
Les sources de données qui peuvent généralement être utilisées avec le pliage des requêtes sont des objets standard dans les bases de données relationnelles telles que les tables et les vues.
Les requêtes SQL personnalisées vers des bases de données relationnelles ne peuvent pas utiliser le repliement des requêtes. Les fichiers plats et les données Web ne peuvent pas non plus être pliés.
Certaines des transformations pouvant être utilisées avec le pliage des requêtes sont le filtrage des lignes , la suppression des colonnes , le renommage des colonnes et les jointures à d'autres requêtes à partir de la même source de données.
Certaines des transformations qui ne peuvent pas être utilisées avec le pliage de requête incluent l'ajout de colonnes d'index , la modification des types de données de colonne et la fusion ou l'ajout de requêtes provenant de différentes sources de données .
Choisir le bon mode de connectivité
La prochaine chose à faire pour améliorer les performances est de choisir le bon mode de connectivité. Le mode d'importation est le mode par défaut et doit être utilisé chaque fois que possible car il offre les meilleures performances de rapport.
Le mode de requête directe peut être utilisé si des données actualisées sont souhaitées, mais sachez simplement qu'il peut avoir et aura probablement un impact négatif sur les performances.
Enfin, un mode de connexion en direct est disponible lorsque vous accédez à des entrepôts de données comme des cubes multidimensionnels SSAS.
Localisation des transformations
La prochaine chose dont je veux parler est l'endroit où ces transformations doivent être effectuées. Le meilleur endroit pour les faire est dans la source . Si vous ne pouvez pas les faire dans la source, faites-les dans power query . Si vous ne pouvez pas les faire dans PowerQuery, faites-les dans DAX .
Effectuez vos transformations de données aussi loin en amont que possible et aussi loin en aval que nécessaire.
Si vous pouvez faire quelque chose dans PowerQuery, alors vous devriez probablement le faire.
Encore une fois, s'il ne s'agit pas de quelque chose de dynamique dans le contexte de la session de rapport, envisagez de le faire dans PowerQuery pour simplifier votre DAX et augmenter les performances de votre rapport.
En ce qui concerne la forme de vos tables, efforcez-vous de créer des tables de faits longues et fines et efforcez-vous de créer des tables de dimensions courtes et larges .
Meilleures pratiques en matière de dénomination et de types de données
Utilisez un schéma de dénomination et de casse cohérent et facile à comprendre pour les utilisateurs de rapports. Renommez vos tables et requêtes si nécessaire pour vous conformer aux normes de dénomination et de casse de votre rapport.
Renommez vos colonnes si nécessaire pour vous conformer à ces normes de dénomination et de casse, et renommez également vos étapes de requête avancée si nécessaire pour rendre les étapes auto-descriptives, car vous n'êtes peut-être pas la personne qui gère le rapport.
LuckyTemplates fait un excellent travail d'attribution des types de données corrects lors de l'importation de données, mais parfois certains ajustements sont également nécessaires. Vous devez vous assurer que les colonnes de différentes tables seront utilisées comme colonnes de liaison entre deux tables du même type de données.
Assurez-vous que toutes vos colonnes de date sont Date et non Texte. Divisez vos colonnes de date/heure en colonnes de dates et d'heure distinctes.
Enfin, revérifiez vos types de données . Faites-en une pratique avant de cliquer sur Fermer et Appliquer dans la requête de puissance pour toujours revérifier vos types de données, car certaines transformations peuvent basculer silencieusement les types de données en texte.
Sourcer des données avec une granularité cohérente
La dernière chose à discuter est la granularité. Au cours du processus de chargement et de transformation des données, vous devez vous efforcer de sourcer vos données avec une granularité cohérente. Lorsque vous combinez différentes granularités dans votre solution, utilisez PowerQuery (de préférence) ou DAX pour allouer les données de référence de manière appropriée.
Par exemple, si vos principales données de ventes sont au niveau quotidien, leur granularité est quotidienne. Si vos données de référence budgétaire sont au niveau mensuel, leur granularité est mensuelle. Voici un exemple de formule DAX d'allocation budgétaire que vous pouvez examiner lors des ajustements de granularité.
Conclusion
J'espère que vous avez trouvé ce tutoriel sur le chargement et la transformation des données utile. Si vous l'avez fait, n'oubliez pas de vous abonner à la chaîne YouTube de LuckyTemplates pour vous assurer d'être informé de tout nouveau contenu.
Greg
Découvrez l
Découvrez comment comparer facilement des tables dans Power Query pour signaler les différences et optimiser vos analyses de données.
Dans ce blog, vous découvrirez comment diviser les colonnes dans LuckyTemplates par délimiteurs à l'aide de DAX, une méthode efficace pour gérer des modèles de données complexes.
Découvrez comment récolter une valeur avec SELECTEDVALUE DAX pour des calculs dynamiques dans LuckyTemplates.
Calculez la marge en pourcentage à l
Dans ce didacticiel, nous allons explorer une méthode rapide pour convertir du texte en formats de date à l
Dans ce blog, vous apprendrez à enregistrer automatiquement la pièce jointe d
Découvrez comment adapter les cellules Excel au texte avec ces 4 solutions simples pour améliorer la présentation de vos données.
Dans ce didacticiel SSRS Report Builder, découvrez comment utiliser le générateur d
Découvrez les outils pour créer un thème de couleur efficace pour vos rapports LuckyTemplates et améliorer leur apparence.