Dans cet article, je vais expliquer ce qu’est le contexte de ligne et le contexte de filtre dans DAX.
Tout d’abord, nous savons ce qu’est le contexte.
Le contexte vous permet d’effectuer une analyse dynamique, dans laquelle les résultats d’une formule peuvent être modifiés pour refléter la sélection de ligne ou de cellule actuelle et toutes les données associées. Une compréhension du contexte est essentielle pour la création de formules hautes performances, l’analyse dynamique et le dépannage des problèmes dans les formules.
Il existe différents types de contextes :
- Contexte de ligne
- Filtrer le contexte
Alors, discutons de ce qu’est le contexte de ligne et le contexte de filtre en bref
Le contexte de ligne effectue des calculs de chaque ligne avec une valeur dans une ligne et effectue des opérations ligne par ligne.
Si vous avez créé une colonne calculée, la référence de ligne inclut les valeurs de chaque ligne et les valeurs des colonnes correspondantes de la ligne actuelle.
Le contexte de filtre est l’ensemble de filtres appliqués au modèle de données avant le début de l’évaluation d’une expression DAX. Il s’agit de l’ensemble de filtres qui sont appliqués avant que cette table n’arrive à être utilisée.
Certains contextes de filtres de niveau initial appliqués sur la page de rapport Power BI sous la forme de :
- Trancheuse
- Filtrer à travers d’autres visuels
- Dans le visuel Matrix basé sur le champ de données de ligne et de colonne
- Filtres Power BI
Donc, je vais vous montrer dans un exemple simple que nous comprenons facilement le contexte de filtre et le contexte de ligne.
Vous voyez, le contexte de filtre et de ligne peut être vu dans des situations courantes si vous savez ce que vous recherchez. Je prends un bus et vous savez qu’il y a deux types de sièges différents dans un bus :
- Sièges de fenêtre
- Sièges de l’allée
J’ai esquissé ce que je veux dire ici.
Ici, vous pouvez voir que dans ce bus, il y a deux types de sièges et un poste de conduite.
Maintenant, que signifient le filtre et le contexte de ligne ici ?
Imaginons que vous êtes un inspecteur des tarifs. Vous devez trouver une famille dans le bus et savoir combien elle a dépensé pour les tarifs. Vous connaissez leurs numéros de siège et ils sont tous assis aux fenêtres.
Dans ce scénario, vous devrez entrer dans le bus et vous rendre aux sièges de la fenêtre et compter le prix de leurs billets. Ceci, dans sa forme la plus simple, illustre le contexte de filtre et le contexte de ligne.
Ici, le contexte du filtre serait les sièges de fenêtre. Le contexte de rangée serait les sièges individuels. Le décompte de combien ils ont dépensé serait l’agrégation.
Cette diapositive montre le contexte du filtre.
Si vous traduisez cela dans Power BI, ce serait une mesure de quelque chose comme ça.
Ici, vous diriez à Power BI d’aller à l’intérieur d’un bus, de descendre les sièges de fenêtre et de trouver le groupe familial – c’est le contexte du filtre.
Qu’est-ce que tu veux faire avec ça ? Power BI se rend sur place mais ne sait pas quoi faire. Il doit savoir quoi faire quand il y arrive ! C’est le contexte de ligne. Ici avec SUMX, vous dites à Power BI, de résumer, rangée par rangée, siège par siège, le prix du billet.
Maintenant, pour un autre exemple, que se passe-t-il si je veux connaître le prix total des sièges côté hublot et côté couloir par occupation ?
Vous, en tant qu’inspecteur des tarifs, iriez à nouveau à l’intérieur du bus et marcheriez jusqu’aux sièges de la fenêtre et des sièges du couloir. Maintenant, qu’est-ce qu’on fait ? Maintenant, nous avons besoin du contexte de ligne. Qu’est-ce qu’on fait par rang ? Nous devons additionner le coût des sièges de fenêtre et des sièges d’allée. Il s’agit du SUMX dans Power BI. Vous additionnerez le prix par le siège de la fenêtre et ajouterez le prix du siège côté couloir et passerez à la rangée suivante et faites de même….
Les itérateurs dans DAX suivent les étapes ci-dessous :
- Évalue le premier paramètre dans le contexte existant (contextes de filtre de lecture) pour déterminer les lignes à analyser.
- Crée un nouveau contexte de ligne pour chaque ligne de la table évaluée à l’étape précédente.
- Itère la table et évalue le deuxième paramètre dans le contexte d’évaluation existant, y compris le contexte de ligne nouvellement créé.
- Et enfin, agrège les valeurs calculées lors de l’étape précédente.
Les points importants:-
Contexte du filtre :
- Peut être modifié par des fonctions comme CALCULER ( ).
- Le filtrage bidirectionnel peut être forcé.
- Vient initialement des coordonnées visuelles.
- Suit automatiquement les relations un-à-plusieurs.
Contexte de la ligne :
- Existe dans des fonctions DAX spéciales telles que SUMX et FILTER.
- Ne suit pas la relation.
- Un contexte de ligne ne crée pas de contexte de filtre.
- Existe en colonnes calculées.
Source link