Requêtes DAX utilisant des variables et des fonctions importantes

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.

Requêtes DAX utilisant des variables et des fonctions importantes

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 .

Requêtes DAX utilisant des variables et des fonctions importantes

Cette mesure filtre l'intégralité de la table Fact Sales. Il supprime les filtres provenant de la table Date.

Requêtes DAX utilisant des variables et des fonctions importantes

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.

Requêtes DAX utilisant des variables et des fonctions importantes

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.

Requêtes DAX utilisant des variables et des fonctions importantes

La dernière mesure utilise CALCULATE et le modèle de données pour filtrer et récupérer les données.

Requêtes DAX utilisant des variables et des fonctions importantes

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.

Requêtes DAX utilisant des variables et des fonctions importantes

Requêtes DAX utilisant des variables et des fonctions importantes

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.

Requêtes DAX utilisant des variables et des fonctions importantes

Requêtes DAX utilisant des variables et des fonctions importantes

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.

Requêtes DAX utilisant des variables et des fonctions importantes

Requêtes DAX utilisant des variables et des fonctions importantes

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.

Requêtes DAX utilisant des variables et des fonctions importantes

Requêtes DAX utilisant des variables et des fonctions importantes

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.

Requêtes DAX utilisant des variables et des fonctions importantes

Requêtes DAX utilisant des variables et des fonctions importantes

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.

Requêtes DAX utilisant des variables et des fonctions importantes

Requêtes DAX utilisant des variables et des fonctions importantes

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.

Leave a Comment

Gestion des erreurs dans Power Automate via le branchement parallèle

Gestion des erreurs dans Power Automate via le branchement parallèle

Découvrez l

Comparaison de tables dans Power Query | Tutoriel LuckyTemplates

Comparaison de tables dans Power Query | Tutoriel LuckyTemplates

Découvrez comment comparer facilement des tables dans Power Query pour signaler les différences et optimiser vos analyses de données.

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

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.

SELECTEDVALUE DAX Exemple - Sélection de trancheuse de récolte

SELECTEDVALUE DAX Exemple - Sélection de trancheuse de récolte

Découvrez comment récolter une valeur avec SELECTEDVALUE DAX pour des calculs dynamiques dans LuckyTemplates.

Calculer la marge en pourcentage dans LuckyTemplates à laide de DAX

Calculer la marge en pourcentage dans LuckyTemplates à laide de DAX

Calculez la marge en pourcentage à l

Modifier les formats de date à laide de léditeur Power Query

Modifier les formats de date à laide de léditeur Power Query

Dans ce didacticiel, nous allons explorer une méthode rapide pour convertir du texte en formats de date à l

Enregistrer la pièce jointe dun e-mail sur SharePoint avec Power Automate

Enregistrer la pièce jointe dun e-mail sur SharePoint avec Power Automate

Dans ce blog, vous apprendrez à enregistrer automatiquement la pièce jointe d

Comment adapter les cellules Excel au texte : 4 solutions simples

Comment adapter les cellules Excel au texte : 4 solutions simples

Découvrez comment adapter les cellules Excel au texte avec ces 4 solutions simples pour améliorer la présentation de vos données.

Générateur de rapports SSRS : formater les en-têtes dans un rapport paginé

Générateur de rapports SSRS : formater les en-têtes dans un rapport paginé

Dans ce didacticiel SSRS Report Builder, découvrez comment utiliser le générateur d

Thème de couleur dans les rapports LuckyTemplates - Conseils et techniques

Thème de couleur dans les rapports LuckyTemplates - Conseils et techniques

Découvrez les outils pour créer un thème de couleur efficace pour vos rapports LuckyTemplates et améliorer leur apparence.