Gestion des erreurs dans Power Automate via le branchement parallèle
Découvrez l
Ce didacticiel abordera les variables, y compris les fonctions et CALCULATE . Vous comprendrez comment ceux-ci aident à améliorer les performances de vos requêtes DAX et à fournir des résultats précis.
Les variables doivent être utilisées autant que possible car elles permettent de localiser facilement les codes à optimiser. Ils vous évitent d'obtenir des sorties incorrectes et vous font gagner du temps à rechercher l'erreur. Cependant, des variables empêchent parfois de recalculer une valeur. Ainsi, une fois qu'ils sont définis avec une valeur, cette valeur ne peut pas être modifiée, pas même par CALCULATE .
Il est important de savoir où vous devez définir et utiliser les variables, car les utiliser à l'intérieur et à l'extérieur d'une itération générera des résultats différents. Ils doivent être définis à proximité de l'endroit où ils seront utilisés. Cela aide également à décomposer les codes longs, ce qui les rend plus faciles à comprendre et à déboguer.
Table des matières
Créer des requêtes DAX avec CALCULATE et FILTER
Il existe différentes méthodes pour obtenir des résultats et des réponses dans DAX. Vous devez développer votre propre style et fluidité dans la création de votre rapport afin d'être à l'aise avec ce sur quoi vous travaillez. Même si vous avez votre propre style, vous devez toujours suivre les directives spécifiques, qui incluent l'utilisation de CALCULATE sur différentes méthodes telles que FILTER .
FILTER peut envoyer un grand nombre de données non compressées au moteur de formule et peut potentiellement déclencher un CallBackDataID. Des mesures seront utilisées ici pour montrer les résultats de CALCULATE et FILTER . Cela a également une mesure définie qui est locale à la requête. Les mesures définies sont introuvables dans le modèle de données, mais elles peuvent développer et dépanner vos codes plus rapidement.
Dans la première ligne, vous pouvez voir une mesure qui définit une variable pour la date. Cela signifie qu'il filtre la table des faits pour les dates qui se produisent le 31 mars 2016 ou après. Vous pouvez également voir une simple mesure des ventes totales qui itère la table des ventes factuelles et multiplie la quantité et le prix actuel.
La mesure suivante utilise dans . Si vous rappelez du module CallBackDataID , l'utilisation d'un IF dans la fonction SUMX créera un CallBackDataID .
Cette mesure filtre l'intégralité de la table Fact Sales. Il supprime les filtres provenant de la table Date.
Vous devez être prudent lorsque vous filtrez une table entière, car cela filtrera également toutes les colonnes qui se trouvent d'un côté de la relation un-à-plusieurs.
Cette mesure est la même que la mesure précédente ; la seule différence est qu'il ne filtre pas toute la table. Il utilise SUMX pour itérer uniquement une table filtrée.
Il s'agit d'une autre mesure qui filtre la table Fact Sales, mais cette fois, c'est uniquement sur la colonne où elle se trouve.
La dernière mesure utilise CALCULATE et le modèle de données pour filtrer et récupérer les données.
Exécutez et vérifiez chaque mesure
Tout d'abord, exécutez la mesure IF . Assurez-vous de vider le cache avant d'exécuter la requête et d'activer la synchronisation du serveur et le plan de requête.
Bien qu'il fournisse les données correctes, les performances sont lentes en raison du CallBackDataID et des 3 durées.
Si vous exécutez la mesure qui filtre l'intégralité de la table Fact Sales, vous pouvez toujours voir le CallBackDataID . Il générera également 15 003 lignes et fournira des résultats incorrects.
Lorsque vous exécutez la mesure qui ne filtre pas toute la table Fact Sales, vous obtenez les résultats corrects. Cependant, vous verrez toujours le CallBackDataID et les 15 003 lignes matérialisées, mais vous n'aurez que 7 lignes de sortie.
Exécutez la mesure suivante qui filtre sur une colonne. Vous obtiendrez les résultats corrects et éliminerez le CallBackDataID . Mais vous pouvez toujours voir qu'il a matérialisé beaucoup de lignes.
Exécutez la mesure CALCULER . Vous pouvez voir qu'il n'a matérialisé que 10 lignes et généré les données correctes en 5 millisecondes.
C'est la plus rapide parmi toutes les mesures ci-dessus car elle n'a pas le CallBackDataID et n'a extrait que 10 lignes. Cela montre à quel point CALCULATE est impressionnant pour obtenir des résultats rapides et précis.
Si vous exécutez toutes les requêtes ou mesures DAX, vous pouvez voir laquelle est la plus lente et la plus rapide en fonction de la durée. Vous pouvez également voir les résultats de chaque mesure.
Conclusion
En déplaçant les filtres vers CALCULATE, vous gagnerez du temps et de la matérialisation car le CallBackDataID sera éliminé. Vous n'aurez pas à itérer les données deux fois. Cela maximisera également les performances de votre DAX et vous aidera à améliorer vos compétences en développement.
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.