TOP

DAX-Lektion 2. CALCULATE-Funktion

YouLibreCalc for Excel logo

Beschreibung

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.

Syntax der Funktion CALCULATE()

=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.

  1. SUM([ Spaltenname ])
  2. SUM([ NameSpalten1 ]) / MAX([ NameColumns2 ])
  3. Name eines anderen Berechnungsfeldes (Maßzahl)

< Filter1 >, < Filter2 >, ...

Filter definiert den Umfang der zu bearbeitenden Daten. Hier werden Bedingungen für die Auswahl von Werten angegeben.

  1. [ Spaltenname ] = Auto
  2. [ Spaltenname ] >= 6
  3. ALL( 'Tabellenname' ) oder ALL( 'Tabellenname' [ Spaltenname ] )
  4. FILTER ( 'Tabellenname' , 'Tabellenname' [ Spaltenname ] = " Grün ")

Angenommen, wir haben eine solche Tabelle mit dem Namen Demo und geladen PowerPivot .

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 (Measure) Count_All_Product in unserer Pivot-Tabelle, die die Gesamtzahl der Datensätze für alle Zeilen anzeigt.

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 (Demo) gibt den Befehl, alle Filter für das berechnete Feld Count_All_Product zu entfernen, die auf die Tabelle angewendet werden Demo .

Fügen wir ein weiteres Feld hinzu (City) in Zeilen, um die Verkäufe jedes Produkts nach Stadt anzuzeigen:

Wir sehen, dass die Zahlen im Feld sind Count of Rows ändern, jedoch nicht im Berechnungsfeld Count_All_Product. Das ist richtig, denn beim letzten haben wir alle Filter in der Formel entfernt. Nehmen wir nun einige kleinere Änderungen an unserer Formel vor und sehen uns das Ergebnis an.

=CALCULATE(COUNTROWS(Demo);ALL(Demo[Product]))

Wir haben das Argument durch Ersetzen in die Funktion ALL() geändert Demo An Demo[Product] . Jetzt werden die Filter nicht für die gesamte Tabelle entfernt Demo , aber nur für seine Spalte Demo[Product] .

So sehen wir, was auf dem Feld ist Count of Rows Filter sind in Kraft Product Und City und nur ein Filter für das berechnete Feld Count_All_Product City .