Vier Use Cases zu der Filterfunktion CALCULATE + Operatoren

Aufbau der Tabelle "Time Use": 

Datenquelle: https://ourworldindata.org/time-use

Tabelle Power BI

 

Use Case 1: Ein eigenes Measure, das nur die Zeit für die Kategorie "Attending events" ausgibt. 

Kann man auch mit den Filteroptionen lösen, aber es geht um die Veranschaulichung von DAX.

 

Syntax:

 Name it = CALCULATE (SUM('Tabellenname',[Spaltenname]), Filter)

 Name it = CALCULATE (SUM('Tabellenname',[Spaltenname]), 'Tabellenname[Spaltenname]="gefilterter Wert")

 

DAX:  Attending events = CALCULATE(SUM('Time Use'[Time in minutes]), 'Time Use'[Category]="Attending events")

 

Ausgabe:

Kennzahl mit CALCULATE

 

Hinweis: Alternativ kann können auch die Funktionen SUMX und FILTER verwendet werde. Der Unterschied wird auf folgender Seite beschrieben.


Use Case 2: Ein eigenes Measure, das nur die Zeit in Stunden für die Kategorie "Attending events" ausgibt und die Zeit für die Kategorie "Care for household members" addiert.

 

Syntax: Name it = (Ausdruck 1 (siehe oben) + Ausdruck 2) / 60

 

DAX:  Sum of attending events and care of household members = (CALCULATE(SUM('Time Use'[Time in minutes]), 'Time Use'[Category]="Attending events") + CALCULATE(SUM('Time Use'[Time in minutes]), 'Time Use'[Category]="Care for household members") )/60

 

Ausgabe:

Tabelle  Power BI

 

Learning: Verwendung von arithmetische Operatoren ist möglich:

  • + (Addition)
  • - (Subtraktion)
  • * (Multiplikation)
  • / (Division)
  • ^ (Potenzierung)

Alternative 1: Sum of attending events and care of household members= (CALCULATE(SUM('Time Use'[Time in minutes]), 'Time Use'[Category]="Attending events" || 'Time Use'[Category]="Care for household members"))/60

 

Learning: II (zwei Pipes) bedeutet "oder"

 

 

Alternative 2: Sum of attending events and care of household members = CALCULATE(SUM('Time Use'[Time in minutes]),

 'Time Use'[Category] IN {"Attending events", "Care for household members"})


Use Case 3:  Ein eigenes Measure, das nur Kategorien mit mehr als 500 Minuten anzeigt. 

Kann man auch mit den Filteroptionen lösen, aber es geht um die Veranschaulichung von DAX.

 

Syntax: 

Name it = CALCULATE (SUM('Tabellenname',[Spaltenname])Filter)

Name it = CALCULATE (SUM('Tabellenname',[Spaltenname]), 'Tabellenname[Spaltenname] > 500)

 

DAX: Category more than 500 minutes = CALCULATE(SUM('Time Use'[Time in minutes]), 'Time Use'[Time in minutes] > 500 )

 

Ausgabe: 

Tabelle  auf Basis von DAX

 

Learning: Verwendung von Vergleichsoperatoren sind möglich:

  • = (gleich)
  • > (größer als)
  • <= (kleiner als oder gleich)

Use Case 4: Ein eigenes Measure, dass die Frage beantwortet: Wie viel Zeit verbringen Australier auf Events?

 

Syntax:

 Name it = CALCULATE (SUM('Tabellenname',[Spaltenname])Filter 1, Filter 2)

 Name it = CALCULATE (SUM('Tabellenname',[Spaltenname]), 'Tabellenname[Spaltenname]="gefilterter Wert",

'Tabellenname[Spaltenname]="gefilterter Wert" )

 

DAX:  Attending events in Australia = CALCULATE(SUM('Time Use'[Time in minutes]), 'Time Use'[Category]="Attending events", 'Time Use'[Country]="Australia")

 

Ausgabe:

Kennzahl Power BI

Learning: Mit der Funktion CALCULATE sind mehrere Filter möglich.