Einführung
Sie können mit DAX (Data Analysis Expressions) dem semantischen Modell drei Typen 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. Weitere Informationen finden Sie unter Sicherheit auf Zeilenebene (RLS) mit Power BI.
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. Daten in berechneten Tabellen werden immer in das Modell importiert, sodass sie die Größe des Modellspeichers erhöhen und die Dauer von Datenaktualisierungen verlängern können.
Hinweis
Eine berechnete Tabelle kann keine Verbindung mit externen Daten herstellen. Zum Ausführen dieser Aufgabe müssen Sie Power Query verwenden.
Berechnete Tabellen können in verschiedenen Szenarien nützlich sein:
- Datumstabellen
- Dimensionen mit unterschiedlichen Rollen
- Was-wäre-wenn-Analyse
Datumstabellen
Datumstabellen sind erforderlich, um besondere Zeitfilter anzuwenden, die als Zeitintelligenz bezeichnet werden. Die DAX-Zeitintelligenzfunktionen funktionieren nur korrekt, wenn eine Datumstabelle eingerichtet ist. Wenn die Quelldaten keine Datumstabelle enthalten, können Sie eine als berechnete Tabelle erstellen, indem Sie die DAX-Funktionen CALENDAR
oder CALENDARAUTO
verwenden.
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 z. B. über eine Tabelle mit dem Namen Sales verfügen, die zwei Datumsspalten enthält (OrderDateKey und ShipDateKey), haben beide Spalten eine Beziehung mit der Spalte Date in der TabelleDate. In diesem Fall wird die Tabelle Date als Dimension mit unterschiedlichen Rollen beschrieben, da sie für Bestelldatum oder Lieferdatum verwendet werden kann.
Microsoft Power BI-Modelle erlauben nur eine aktive Beziehung zwischen Tabellen, die im Modelldiagramm als eine durchgängige Linie angezeigt wird. Aktive Beziehungen werden standardmäßig für die Weitergabe von Filtern verwendet. Diese verläuft 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 ausdrücklich in einer berechneten Formel angefordert werden. Dazu verwenden Sie die DAX-Funktion USERELATIONSHIP
.
Beispielsweise wäre ein Modellentwurf mit zwei Datumstabellen, die jeweils über eine aktive Beziehung mit der Tabelle Sales verfügen, möglicherweise vorzuziehen. Dadurch können Berichtsbenutzer nach Bestelldatum, Versanddatum oder beidem filtern. Eine berechnete Tabelle kann die Daten der Tabelle Date duplizieren, um die Tabelle Ship Date zu erstellen.
Was-wäre-wenn-Analyse
Power BI Desktop unterstützt ein Feature namens Was-wäre-wenn-Parameter. Wenn Sie einen Was-wäre-wenn-Parameter erstellen, wird Ihrem Modell automatisch eine berechnete Tabelle hinzugefügt.
Was-wäre-wenn-Parameter ermöglichen Benutzern das Auswählen oder Filtern von Werten, die in der berechneten Tabelle gespeichert sind. Sie können die ausgewählten Werte in Measureformeln sinnvoll einsetzen. Beispielsweise kann ein Was-wäre-wenn-Parameter einem Berichtsbenutzer ermöglichen, einen hypothetischen Währungswechselkurs auszuwählen, und ein Measure könnte dann die Umsatzwerte (in einer lokalen Währung) durch den ausgewählten Kurs dividieren.
Beachten Sie, dass mit der Was-wäre-wenn-Analyse berechnete Tabellen nicht den anderen Modelltabellen entsprechen, da sie nicht zur Weitergabe von Filtern verwendet werden. Aus diesem Grund werden sie manchmal als nicht verbundene Tabellen bezeichnet.
Berechnete Spalten
Sie können eine DAX-Formel schreiben, um einer beliebigen Tabelle in Ihrem Modell eine berechnete Spalte hinzuzufügen. Die Formel wird für jede Tabellenzeile ausgewertet und gibt einen einzelnen Wert zurück. Wenn sie einer Tabelle im Speichermodus „Import“ hinzugefügt wird, erfolgt die Auswertung der Formel beim Aktualisieren des semantischen Modells. Dabei wird 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 Felder sind berechnete Spalten mit einem speziellen Symbol gekennzeichnet. Das folgende Beispiel zeigt eine einzelne berechnete Spalte in der Tabelle Customer mit dem Namen Age.
Measures
Sie können eine DAX-Formel schreiben, um einer beliebigen Tabelle in Ihrem Modell ein Measure hinzuzufügen. Die Formel fasst die Modelldaten zusammen. Wie bei einer berechneten Spalte muss die Formel einen Einzelwert zurückgeben. Im Gegensatz zu berechneten Spalten, die zur Zeit der Datenaktualisierung ausgewertet werden, werden Measures zur Abfragezeit ausgewertet. Ihre Ergebnisse werden nie im Modell gespeichert.
Im Bereich Felder werden Measures mit dem Taschenrechnersymbol dargestellt. Das folgende Beispiel zeigt drei Measures in der TabelleSales: Cost, Profit und Revenue.
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 erkennen implizite Measures im Bereich Felder, da sie mit dem Sigmasymbol (∑) angezeigt werden.
Hinweis
Jede Spalte kann beim Hinzufügen zu einem Visual zusammengefasst werden. Daher können sie, unabhängig davon, ob sie mit oder ohne Sigmasymbol angezeigt werden, beim Hinzufügen zu einem Visual als implizite Measures konfiguriert werden.
Darüber hinaus gibt es bei der tabellarischen Modellierung kein Konzept für berechnetes Measure. Der Begriff berechnet wird zur Beschreibung berechneter Tabellen und berechneter Spalten verwendet, um sie von Tabellen und Spalten zu unterscheiden, die aus Power Query stammen. Power Query verfügt nicht über das Konzept expliziter Measures.