Die erste Funktion, die mit dem Lernen von DAX beginnt, ist CALCULATE. Diese Funktion hat kein genaues Gegenstück in Excel, ist aber mit Funktionen vergleichbar SUMIFS Und COUNTIFS . Kurz gesagt, diese Funktion wendet Filter auf andere Berechnungsfunktionen an, sodass wir nur die Daten auswählen und in Berechnungen einbeziehen können, die wir benötigen.
=CALCULATE(< statistischer Ausdruck >, < Filter1 >, < Filter2 >, ...)
< statistischer Ausdruck >
Statistischer Ausdruck sollte uns das Ergebnis der Berechnung zurückgeben (einen Wert, keine Tabelle). Aus diesem Grund werden in diesem Zusammenhang häufig statistische Funktionen dieses Typs verwendet SUM , MINDEST , MAX , GEGENWÄRTS usw.
< Filter1 >, < Filter2 >, ...
Filter definiert den Umfang der zu bearbeitenden Daten. Hier werden Bedingungen für die Auswahl von Werten angegeben.
Angenommen, wir haben eine solche Tabelle mit dem Namen
Lassen Sie uns darauf basierend eine Übersichtstabelle erstellen und die Anzahl der Datensätze für jedes Produkt zählen.
Jetzt erstellen wir ein neues Berechnungsfeld
Wie haben wir die Zahlen im Berechnungsfeld Count_All_Product erhalten? 16 ? Die Erklärung dafür ist, dass wir für dieses Feld mithilfe der Funktion alle Filter entfernt haben, die in der Pivot-Tabelle angewendet wurden (jede Zeile in der Pivot-Tabelle ist ein separater Filter). ALL() . Das ist mit anderen Worten eine Funktion ALL (
Fügen wir ein weiteres Feld hinzu
Wir sehen, dass die Zahlen im Feld sind
=CALCULATE(COUNTROWS(Demo);ALL(Demo[Product]))
Wir haben das Argument durch Ersetzen in die Funktion ALL() geändert
So sehen wir, was auf dem Feld ist