DEFINE
MEASURE Sales[Average Sales Amount] =
AVERAGEX ( Sales, 'Sales'[Quantity] * 'Sales'[Net Price] )
EVALUATE
ADDCOLUMNS (
VALUES ( Product[Color] ),
"Sales", CALCULATE(
[Average Sales Amount],
FILTER ( Sales, Sales[Quantity] > 3 )
)
)
Zunächst wird eine eindeutige Liste von Produkten erstellt, die den aktuellen Filterkontext berücksichtigen (da VALUES verwendet wird).
Anschließend wird jede Zeile der obigen Liste durchlaufen und die BERECHNUNG durchgeführt.
BERECHNEN Ich verstehe, fügt die aktuelle Zeile (Farbe) zum Filterkontext hinzu. In CALCULATE versuche ich zu verstehen, warum sich die Verkäufe in FILTER nicht auf die jeweilige Farbe beschränken, obwohl sich die jeweilige Farbe im Filterkontext befindet.
Es scheint, dass beim Übergang von CALCULATE durch Hinzufügen der Farbe (aus dem Zeilenkontext) zum Filterkontext die Farbe aus irgendeinem Grund die Verkaufstabelle nicht filtert.
Für die Reihenfolge der Ausführung der Schritte von CALCULATE wird zuerst der FILTER im vorhandenen Filterkontext vor dem Kontextübergang ausgewertet.
Dies bedeutet, dass die Verkaufstabelle noch nicht nach Farbe gefiltert ist.
Dann passiert der Filterkontext und fügt den Filter über dem aktuell iterierten 'Produkt' [Farbe] zum Filterkontext in CALCULATE hinzu.
Schließlich wird der Filter über Verkäufe angewendet.
Da dies ein Filter über die gesamte Verkaufstabelle ist, wird die erweiterte Tabelle verwendet.
Dies bedeutet, dass alle über der erweiterten Tabelle "Vertrieb" vorhandenen Dateien ersetzt werden.
Die erweiterte Tabelle "Vertrieb" enthält die Tabelle "Produkt", da zwischen Produkt und Vertrieb eine Eins-zu-Viele-Beziehung besteht.
Das Ergebnis ist, dass der durch den Kontextübergang festgelegte Filter über Produkt [Farbe] entfernt wird.
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen