Aufbau der Tabelle "Time Use":
Datenquelle: https://ourworldindata.org/time-use
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:
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:
Learning: Verwendung von arithmetische Operatoren ist möglich:
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:
Learning: Verwendung von Vergleichsoperatoren sind möglich:
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:
Learning: Mit der Funktion CALCULATE sind mehrere Filter möglich.
Header: istock/solarseven