Gestion des erreurs dans Power Automate via le branchement parallèle
Découvrez l
La table virtuelle LuckyTemplates est mon sujet DAX préféré. Ils sont la clé pour libérer toute la puissance de DAX. Les tables virtuelles sont le seul type de tables dans LuckyTemplates qui sont entièrement dynamiques, et il existe des problèmes qui ne peuvent être résolus qu'en appliquant des techniques de table virtuelle dans vos mesures. Vous pouvez regarder la vidéo complète de ce tutoriel au bas de ce blog.
Dans ce didacticiel, je vais partager mes 5 meilleurs trucs et astuces que j'ai accumulés au fil des ans et qui m'ont vraiment aidé à comprendre et à déboguer ce qui se passe dans les tables virtuelles Power Bi.
L'exemple que je vais parcourir aujourd'hui provient du , et il vient d'un membre nommé Dave C, qui travaille dans la sécurité industrielle. Dave avait une série de scores de sécurité et il voulait les normaliser pour que le meilleur score soit de 10, puis trouver dynamiquement le Nième dans cette liste.
Au départ, nous pensions le faire via une simple mesure , mais nous avons réalisé plus tard que beaucoup de ses valeurs normalisées avaient des liens. Par exemple, si vous voulez le septième élément de la liste, il n'y aura pas de numéro sept dans un RANKX. Il n'y a pas de moyen facile de retirer cela d'une condition de filtre. Nous avons donc opté pour une mesure basée sur afin qu'elle décompte toujours le nième nombre.
C'est comme lorsque vous tirez la septième carte d'un jeu, vous comptez sept cartes, puis vous retournez cette pile de sept, et la carte du bas est celle que vous voulez. Nous allons faire l'équivalent de cela dans une mesure TOPN.
Table des matières
Conseil n°1 : utilisez un outil externe pour visualiser votre table virtuelle LuckyTemplates
Vous pouvez utiliser DAX Studio ou l'éditeur tabulaire. Dans cet exemple, j'utilise l'éditeur tabulaire 3 (TE3). Il est techniquement possible de le faire en utilisant l'onglet Modélisation - Nouvelle table, mais cela va créer des tables physiques dans votre modèle de données. Vous allez devoir basculer manuellement entre cela et l'éditeur et c'est juste une façon lente et difficile de le faire.
Lorsque vous voyez la manière dynamique dont cela peut être fait via un outil externe, vous en verrez les avantages.
Ainsi, dans le TE3, nous créons une nouvelle requête DAX. Nous pouvons prendre notre mesure initiale et la copier dans notre requête DAX.
Si vous vous en souvenez, les requêtes DAX commencent toujours par EVALUATE . Nous allons d'abord obtenir une erreur car les requêtes DAX renvoient tables . Il s'agissait d'une mesure avec les deux dernières variables qui sont des scalaires. Ce que nous pouvons faire ici, c'est changer la valeur de retour , qui est mon prochain conseil.
Conseil n°2 : déboguez votre table virtuelle LuckyTemplates en plusieurs parties à l'aide de variables
Vous pouvez déboguer des tables virtuelles de la même manière que vous le feriez avec des mesures - pièce par pièce, en modifiant la valeur de retour. Commençons par la première table virtuelle, la vEvalTable . Nous remplaçons simplement la valeur RETURN (Final) par notre première variable (VAR). Et vous pouvez voir que l'erreur disparaît car la requête DAX obtient maintenant une table.
Dans le vEvalTable, nous prenons les données d'origine, qui sont les scores de sécurité, et nous les normalisons et ajoutons cette colonne de valeur normalisée à la table virtuelle. Nous avons l'indice, la valeur de la région et la valeur normalisée. Nous pouvons trier ces valeurs vers le haut ou vers le bas et filtrer également les valeurs.
Cela nous donne exactement ce à quoi nous nous attendions. Il renvoie 50 lignes, ce qui correspond à l'ensemble de données complet. Tout se passe bien, alors descendons et explorons la table suivante, qui est la vTableTopN . Dans ce tableau, nous prenons TOPN en utilisant la nième valeur du curseur d'élément. Dans cet exemple, nous avons cette septième valeur de la table virtuelle ci-dessus (vEvalTable), et nous prenons ce TOPN en fonction de la valeur normalisée dans l'ordre décroissant.
Ainsi, lorsque nous changeons notre fonction RETURN en cela, elle tombe et nous n'obtenons rien. Voyons pourquoi, car il s'agit d'un concept très important pour le débogage et la compréhension des tables virtuelles.
Si nous regardons la formule, nous avons la Nth Item Slider Value comme principal suspect ici. De retour à LuckyTemplates, nous pouvons voir qu'il ne s'agit essentiellement que de récolter le numéro sept. Notez que les curseurs existent dans le contexte d'une page .
Et donc, dans ce cas, lorsque nous cherchons à déboguer cette table hors contexte, cette valeur sélectionnée n'a pas de contexte autour d'elle . Il n'a rien en termes de capacité à tirer ce chiffre. Nous obtenions un TOPN, mais nous ne savons pas quel est le N dans TOPN parce que la valeur sélectionnée renvoie un blanc.
Comment gérons-nous cela? Examinons la mesure de valeur sélectionnée. La plupart du temps, nous prêtons toujours attention au premier paramètre dans , mais il y a un deuxième paramètre, qui est un suppléant. Cela nous amène à mon troisième conseil.
Astuce #3 : Utilisez le paramètre alternatif dans SELECTEDVALUE
Ce qui s'est passé ici, c'est qu'il a tiré le blanc en tant que suppléant. Mais ce que nous voulons faire (à des fins de débogage), c'est que nous voulons mettre une valeur réelle ici . Donc, nous mettons le numéro 7 et enregistrons cela.
Maintenant, nous avons quelques valeurs. Il renvoie sept lignes, ce qui est exactement ce qu'il devrait en raison de cette valeur TOPN de sept.
Continuons sur la ligne jusqu'à la table virtuelle suivante, qui est vTableNthItem . Nous avons cette pile de sept cartes, et cette table la retourne essentiellement. Nous étions en ordre décroissant dans le tableau précédent, et maintenant nous sommes en ordre croissant.
Si nous prenons et copions ceci dans la section RETOUR, nous obtenons les résultats. Il est intéressant de noter qu'il ne renvoie pas une ligne. Il renvoie trois lignes car ces trois sont à égalité. C'est exactement la raison pour laquelle nous utilisons TOPN plutôt que RANKX, dans ce cas.
Passons maintenant au résultat . Si nous copions le résultat VAR dans la section RETURN, cela nous amène à mon quatrième conseil.
Astuce #4 : Utilisez { } pour transformer les scalaires en tables
Dans la formule, nous prenons le max ( ) de ce vTableNthItem et nous renvoyons la valeur normalisée. Cela pourrait être , cela pourrait être , cela pourrait être . C'est juste un agrégateur qui renvoie cette valeur dans cette table. Et donc, si nous copions cela, cela va nous donner une erreur car c'est maintenant un scalaire.
Mais ceci est mon quatrième conseil, qui se situe dans le cadre du débogage. Ce que vous pouvez faire, c'est simplement ajouter les accolades . Ce faisant, il transforme ce scalaire en table.
Et puis, ce que nous avons ici n'est qu'une vérification d'erreur finale, c'est-à-dire que s'il s'avère que la table d'évaluation est plus petite que le nombre de lignes, elle renverra des données insuffisantes. Mais nous savons dans ce cas que notre ensemble de données est suffisamment grand. Cependant, nous pouvons simplement tester cela en tapant Final . Encore une fois, comme il s'agit d'un scaler, nous avons également besoin des accolades, et nous obtenons la même valeur ici.
Nous avons fouillé et débogué cette table virtuelle, et nous avons utilisé la valeur alternative dans SELECTEDVALUE pour l'empêcher de tomber hors de son contexte. Maintenant, je veux juste vous montrer un conseil supplémentaire que j'ai trouvé très utile.
Astuce #5 : Utilisez CONCATENATEX/UNICHAR pour transformer une table en scalaire
Dans le cadre de votre débogage, vous allez vouloir voir dans LuckyTemplates à quoi ressemble cette table. La règle générale est qu'une mesure ne peut renvoyer qu'un scalaire, pas une table. Mais, il y a une triche que je vais vous montrer qui lui permet de quasi retourner une table.
Examinons cette mesure, qui est Visualized Virtual Table , et nous avons ici toutes les tables virtuelles que nous avions au départ. Par exemple, nous voulons afficher, disons sur la page d'accueil du rapport, le vTableTopN.
Vous pouvez utiliser cette fonction . Vous pouvez réellement prendre ce nom de table virtuelle (vTableTopN) et prendre les valeurs de cette table et les concaténer. Vous pouvez créer quelque chose qui ressemble essentiellement à une table virtuelle.
Si nous prenons cette mesure, nous devons revenir à LuckyTemplates et la déposer dans une mesure de carte. En règle générale, la table donne une erreur, mais via CONCATENATEX, elle a transformé cette table en un scaler. Vous pouvez voir qu'il est assez primitif, mais il renvoie exactement ce que nous attendons et il le fait de manière dynamique.
C'est un moyen de pousser un tableau dans une mesure et de le montrer dans votre rapport. C'est une astuce de débogage vraiment utile. Il fournira un bon format dans une valeur de carte que vous pourrez utiliser dans un rapport.
Tables virtuelles principales dans LuckyTemplates à l'aide
de tables virtuelles DAX à l'intérieur des fonctions d'itération dans LuckyTemplates - Concepts DAX
Tables dans LuckyTemplates : types et distinctions
Conclusion
J'espère que ce didacticiel vous donnera matière à réflexion sur l'utilisation d'une table virtuelle LuckyTemplates. Voici quelques conseils et astuces supplémentaires pour comprendre ce qui se passe dans vos tables virtuelles. J'espère que vous avez trouvé cela utile.
Visitez notre site Web pour plus de didacticiels LuckyTemplates et consultez les liens ci-dessous pour plus de contenu connexe.
Tous mes vœux!
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.