DAX-Berechnungstypen verstehen

Abgeschlossen

Mit Data Analysis Expressions (DAX) können Sie Ihrem semantischen Modell drei Arten von Berechnungen hinzufügen:

  • Berechnete Tabellen
  • Berechnete Spalten
  • Measures

Hinweis

DAX kann auch zum Definieren von RLS-Regeln (Row-Level Security, Sicherheit auf Zeilenebene) verwendet werden, Ausdrücken, die Filter über Modelltabellen erzwingen. Regeln werden jedoch nicht als Modellberechnungen betrachtet und daher nicht in diesem Modul behandelt. Unter Sicherheit auf Zeilenebene (RLS) mit Power BI finden Sie dazu weitere Informationen.

Berechnete Tabellen

Sie können eine DAX-Formel schreiben, um Ihrem Modell eine berechnete Tabelle hinzuzufügen. Mit der Formel können vorhandene Modelldaten dupliziert oder transformiert oder eine Datenreihe erstellt werden, um eine neue Tabelle zu erstellen. Berechnete Tabellendaten werden immer in das Modell importiert, wodurch sich die Speichergröße des Modells erhöht und die Datenaktualisierungszeit verlängert wird.

Hinweis

Eine berechnete Tabelle kann keine Verbindung zu externen Daten herstellen. Für diese Aufgabe müssen Sie Power Query verwenden.

Berechnete Tabellen können in verschiedenen Szenarien nützlich sein:

  • Datentabellen
  • Dimensionen mit unterschiedlichen Rollen
  • Was-wäre-wenn-Analyse

Datentabellen

Datumstabellen sind erforderlich, um besondere Zeitfilter anzuwenden, die als Zeitintelligenz bekannt sind. DAX-Zeitintelligenzfunktionen funktionieren nur ordnungsgemäß, wenn eine Datumstabelle eingerichtet ist. Wenn Ihre Quelldaten keine Datumstabelle umfassen, können Sie die Funktion CALENDAR oder die Funktion CALENDARAUTO verwenden, um eine als berechnete Tabelle zu erstellen.

Dimensionen mit unterschiedlichen Rollen

Wenn zwei Modelltabellen mehrere Beziehungen aufweisen, kann dies daran liegen, dass Ihr Modell über eine Dimension mit unterschiedlichen Rollen verfügt. Wenn Sie beispielsweise über eine Tabelle mit dem Namen Sales verfügen, die die beiden Datumsspalten OrderDateKey und ShipDateKey enthält, sind beide Spalten mit der Spalte Date in der Tabelle Date verknüpft. In diesem Fall wird die Tabelle Date als Dimension mit unterschiedlichen Rollen beschrieben, da sie die Rolle des Bestelldatums oder des Versanddatums spielen kann.

Der Screenshot zeigt zwei Tabellen: Sales und Date. Zwischen den Tabellen gibt es zwei Beziehungen. Es ist nur eine Beziehung aktiv.

Semantische Modelle lassen nur eine aktive Beziehung zwischen Tabellen zu, die im Modelldiagramm als durchgezogene Linie dargestellt wird. Die aktive Beziehung wird standardmäßig zur Weitergabe von Filtern verwendet, in diesem Fall von der Tabelle Date zur Spalte OrderDateKey in der Tabelle Sales. Alle verbleibenden Beziehungen zwischen den beiden Tabellen sind inaktiv. Im Modelldiagramm werden diese Beziehungen als gestrichelte Linien dargestellt. Inaktive Beziehungen werden nur verwendet, wenn sie in einer berechneten Formel mit der Funktion USERELATIONSHIP ausdrücklich angefordert werden.

Vielleicht kann ein besseres Modelldesign zwei Datumstabellen mit jeweils einer aktiven Beziehung zur Tabelle Sales haben. Dadurch können Berichtsnutzer nach Bestelldatum, Versanddatum oder beidem filtern. Eine berechnete Tabelle kann die Daten der Tabellen Date duplizieren, um die Tabelle Ship Date zu erstellen.

Der Screenshot zeigt zwei Tabellen: Sales und Date. Es gibt eine Beziehung zwischen den Tabellen „Sales“ und „Date“ sowie eine Beziehung zwischen den Tabellen „Sales“ und „Ship Date“. Beide Beziehungen sind aktiv.

Was-wäre-wenn-Analyse

Power BI Desktop umfasst eine Funktion mit dem Namen Parameter. Wenn Sie einen numerischen Bereichsparameter erstellen, wird Ihrem Modell automatisch eine berechnete Tabelle hinzugefügt.

Mit numerischen Bereichsparametern können Berichtsnutzer Werte auswählen oder nach ihnen filtern, die in der berechneten Tabelle gespeichert sind. Measureformeln können ausgewählte Werte sinnvoll verwenden. Zum Beispiel kann ein digitaler Bereichswert dem Berichtsnutzer ermöglichen, einen simulierten Währungswechselkurs zu bestimmen, und ein Measure kann mit dem ausgewählten Kurs Umsatzwerte (in einer lokalen Währung) berechnen.

Bemerkenswert ist, dass mit Parametern berechnete Tabellen nicht mit anderen Modelltabellen verknüpft sind, da sie nicht zum Weitergeben von Filtern verwendet werden. Deswegen werden sie getrennte Tabellen genannt.

Berechnete Spalten

Sie können eine DAX-Formel schreiben, um Ihrem Modell eine berechnete Spalte für jede Tabelle hinzuzufügen. Die Formel wird für jede Tabellenzeile ausgewertet und gibt einen einzelnen Wert zurück. Beim Hinzufügen zu einer Importspeichermodustabelle wird die Formel ausgewertet, wenn das semantische Modell aktualisiert wird. Dadurch wird zudem die Speichergröße Ihres Modells erhöht. Wenn sie einer Tabelle im Speichermodus „DirectQuery“ hinzugefügt wird, erfolgt die Auswertung der Formel durch die zugrunde liegende Quelldatenbank, wenn die Tabelle abgefragt wird.

Im Bereich Daten werden berechnete Spalten mit einem speziellen Symbol erweitert. Das folgende Beispiel zeigt eine einzelne berechnete Spalte in der Tabelle Customer namens Age

Screenshot eines Abschnitts des Bereichs „Felder“. In der Customer-Tabelle gibt es mehrere Felder. Eine ist mit dem speziellen Symbol verziert, das darauf hinweist, dass dies eine berechnete Spalte ist.

Measures

Sie können eine DAX-Formel schreiben, um Ihrem Modell ein Measure für jede Tabelle hinzuzufügen. Die Formel erreicht eine Aggregation über Modelldaten. Wie bei einer berechneten Spalte muss die Formel einen Einzelwert zurückgeben. Im Gegensatz zu berechneten Spalten, die zum Zeitpunkt der Datenaktualisierung ausgewertet werden, werden Measures zum Zeitpunkt der Abfrage ausgewertet. Ihre Ergebnisse werden niemals im Modell gespeichert.

Im Bereich Daten werden Measures mit dem Taschenrechnersymbol angezeigt. Im folgenden Beispiel werden drei Measures in der Tabelle Sales angezeigt: Cost, Profit und Revenue.

Der Screenshot zeigt einen Abschnitt des Bereichs „Felder“. In der Tabelle „Sales“ gibt es mehrere Felder. Drei davon sind mit dem Taschenrechner-Symbol versehen, was bedeutet, dass es sich um Measures handelt.

Gelegentlich können Measures als explizite Measures beschrieben werden. Dabei ist zu beachten, dass es sich bei expliziten Measures um Modellberechnungen handelt, die in DAX geschrieben werden und häufig einfach als Measures bezeichnet werden. Dennoch gibt es auch das Konzept impliziter Measures. Implizite Measures sind Spalten, die in vereinfachter Weise von Visuals zusammengefasst werden können. Beispiele sind Anzahl, Summe, kleinster/größter Wert usw. Sie können implizite Measures im Bereich Daten daran erkennen, dass sie mit dem Sigma-Symbol (∑) gekennzeichnet sind.

Hinweis

Jede Spalte kann beim Hinzufügen zu einem Visual zusammengefasst werden. Daher können sie, unabhängig davon, ob sie mit dem Sigma-Symbol angezeigt werden oder nicht, beim Hinzufügen zu einem Visual als implizite Messgrößen eingerichtet werden.

Darüber hinaus gibt es bei der tabellarischen Modellierung kein Konzept für berechnetes Measure. Das Wort berechnet wird verwendet, um berechnete Tabellen und berechnete Spalten zu beschreiben und sie von Tabellen und Spalten zu unterscheiden, die aus Power Query hervorgehen. Power Query hat nicht das Konzept eines expliziten Measure.