Travailler avec des fonctions ditération dans DAX

J'ai constaté une certaine confusion avec les fonctions d'itération dans DAX chaque fois que je travaille avec des membres de LuckyTemplates sur le forum. Nous allons donc faire un examen de ce qui peut être réalisé en utilisant ces fonctions et pourquoi vous devriez les utiliser. Vous pouvez regarder la vidéo complète de ce tutoriel au bas de ce blog.

Au fur et à mesure que vous approfondirez les formules DAX , vous utiliserez ces fonctions d'itération beaucoup plus que vous ne le pensez. Elles sont beaucoup plus polyvalentes que de simples fonctions d'agrégation comme SUM ou AVERAGE .

J'ai quelques exemples ici, et je veux travailler sur la logique de chacun de ces exemples afin que vous puissiez avoir une très bonne compréhension de ce qui se passe réellement lorsque la logique est exécutée via ces formules.

L'essentiel à propos des fonctions d'itération est qu'elles parcourent quelque chose.

Table des matières

Itération simple à l'aide de SUMX

Travailler avec des fonctions d'itération dans DAX

Dans ce cas, je veux résumer quelque chose mais je veux parcourir chaque ligne de cette table Sales.

Travailler avec des fonctions d'itération dans DAX

Et puis à chaque ligne, je veux exécuter cette logique spécifique ici.

Travailler avec des fonctions d'itération dans DAX

Passons rapidement à notre table Sales très simple, où je veux exécuter une logique à chaque ligne. Et puis je veux multiplier la quantité par le prix.

Travailler avec des fonctions d'itération dans DAX

Le prix n'existe pas dans ce tableau. Et pour ce modèle particulier, il se trouve en fait dans la table Product.

Travailler avec des fonctions d'itération dans DAX

La prochaine chose que je dois faire est de revenir à ma table Product et je peux le faire avec RELATED . Lorsque nous calculons la quantité multipliée par le prix pertinent, nous le faisons pour chaque ligne. C'est exactement ce qui se passe à l'intérieur de cette formule.

Ce sont les concepts clés à retenir lorsque nous commençons à faire des choses plus avancées.

Une approche alternative pour obtenir des ventes à l'aide de SUMX

Travailler avec des fonctions d'itération dans DAX

Dans cet exemple, SUMX parcourt à nouveau la table Sales. Nous exécutons donc cette logique dans chaque ligne et calculons la quantité multipliée par le prix à chaque ligne, puis nous l'agrégeons une fois que toutes les itérations sont terminées.

Travailler avec des fonctions d'itération dans DAX

Vous verrez ici que ce résultat est exactement le même que les résultats du premier exemple (tutoriel SUMX 2) ou les ventes totales.

Vous pouvez placer toute une variété de choses différentes ici - cela peut être une mesure et vous pouvez vous diversifier avec une fonction d'itération. Vous n'avez pas besoin de référencer des colonnes spécifiques pour obtenir les calculs correctement.

Travailler avec des fonctions d'itération dans DAX

Comme vous pouvez le voir ici, tout ce que j'ai fait est de placer une mesure (Total Sales) ici et j'obtiens exactement le même résultat.

SUMX et fonctions logiques

Travailler avec des fonctions d'itération dans DAX

J'utilise SUMX ici, mais il est également pertinent pour AVERAGEX , MINX et MAXX . Ce sont toutes des choses très similaires.

Une autre chose clé à retenir avec ces fonctions d'itération est qu'elles exécutent une logique à chaque ligne et enregistrent le résultat en mémoire.

Une fois que toutes ces valeurs sont enregistrées dans la mémoire, le calcul global est effectué - comme une SOMME ou une MOYENNE .

Travailler avec des fonctions d'itération dans DAX

Revenons à notre exemple, vous pouvez voir ici que le montant de cette colonne est légèrement inférieur aux colonnes précédentes.

Travailler avec des fonctions d'itération dans DAX

Avec la fonction d'itération SUMX , je souhaite parcourir chaque ligne de la table Sales. Et dans chaque ligne, je veux calculer si cette vente particulière est supérieure à 2 000 $. Si c'est le cas, je veux calculer le total des ventes pour cette ligne. Mais si le total de la vente était inférieur à 2 000 $, je souhaite renvoyer zéro. Donc, je veux seulement calculer les ventes de plus grande valeur.

Certaines personnes suggéreront que je pourrais simplement mettre la logique dans une colonne calculée. Mais nous ne voulons pas le faire car il existe une bien meilleure façon d'exécuter cette logique à l'intérieur de DAX plutôt que de la placer physiquement dans une colonne.

Itérer dans les tables

C'est là que les fonctions d'itération sont vraiment étonnantes. Non seulement vous pouvez parcourir une table physique comme nous l'avons fait auparavant, mais vous pouvez également parcourir une autre table virtuelle que vous entrez en tant que paramètre.

Travailler avec des fonctions d'itération dans DAX

Nous allons penser que chaque résultat ici a un contexte spécifique. Dans ce cas particulier, nous avons le contexte client.

Travailler avec des fonctions d'itération dans DAX

Dans ce contexte, je veux parcourir chaque emplacement et voir si un client particulier a atteint des ventes supérieures à 5 000 $.

Si c'est le cas, je veux calculer le total des ventes. Mais si ce n'est pas le cas, je veux qu'il renvoie zéro.

Travailler avec des fonctions d'itération dans DAX

Donc, dans ce cas particulier, je calcule les emplacements de grande valeur où ce client achète et le total des ventes qu'il réalise dans ces emplacements.

Travailler avec des fonctions d'itération dans DAX

Ce que VALUES fait ici, c'est créer une table virtuelle. Donc SUMX ne travaille même pas sur quoi que ce soit de physique ici. Il s'agit en fait de travailler sur quelque chose qui est totalement virtuel.

Itération simple avec MINX

Travailler avec des fonctions d'itération dans DAX

Ceci est similaire aux exemples précédents mais au lieu de SUMX , nous allons exécuter un autre type d'agrégation une fois que nous aurons parcouru chaque ligne.

Travailler avec des fonctions d'itération dans DAX

Dans ce cas particulier, nous écrivons chaque emplacement pour chaque client et calculons le total des ventes pour chacun de ces emplacements.

Travailler avec des fonctions d'itération dans DAX

Ensuite, nous voulons retourner le montant très minimum de l'emplacement où ils ont acheté.

Itération simple avec MAXX

Travailler avec des fonctions d'itération dans DAX

Je fais aussi une chose similaire ici juste pour vous montrer la polyvalence des fonctions d'itération. Je passe en revue chaque emplacement en examinant leurs ventes, mais je retourne ensuite le maximum de ces ventes d'emplacement, c'est pourquoi nous constatons des chiffres plus élevés ici.

Conclusion

L'élément clé que je voulais aborder dans cet article est la gamme d'options que vous avez à l'intérieur d'une fonction d'itération par rapport à une simple somme ou à une moyenne.

Une fois que vous aurez commencé à creuser dans des calculs plus complexes, vous verrez à quel point ces fonctions particulières sont essentielles pour renvoyer des valeurs au niveau du contexte.

Il y a tellement de polyvalence et tellement de façons d'exécuter ces calculs à l'aide d'une formule simple si vous savez comment manipuler les paramètres.

Si vous avez aimé en savoir plus sur ces fonctions d'itération , vous pouvez parcourir ces liens pour obtenir plus d'informations sur ce sujet :

Concepts clés pour l'itération des fonctions dans LuckyTemplates

Itération de la logique via des tables virtuelles - Concepts DAX avancés dans LuckyTemplates

Profitez de travailler à travers celui-ci.

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.