Etwas über den Zeilenkontext erfahren
Nachdem Sie nun berechnete Spalten erstellt haben, können Sie lernen, wie die Formeln darin ausgewertet werden.
Die Formel für eine berechnete Spalte wird für jede Tabellenzeile ausgewertet. Außerdem wird sie im Zeilenkontext ausgewertet, d. h. für die aktuelle Zeile. Betrachten Sie die Definition der berechneten Spalte Due Fiscal Year:
Due Fiscal Year =
"FY"
& YEAR('Due Date'[Due Date])
+ IF(
MONTH('Due Date'[Due Date]) <= 6,
1
)
Wenn die Formel für die einzelnen Zeilen ausgewertet wird, gibt der Spaltenverweis 'Due Date'[Due Date]
den Spaltenwert jeweils für diese Zeile zurück. Dieses Konzept ist Ihnen möglicherweise von der Arbeit mit Formeln in Excel-Tabellen bekannt.
Der Zeilenkontext geht jedoch nicht über die Tabelle hinaus. Wenn Ihre Formel auf Spalten in anderen Tabellen verweisen muss, stehen Ihnen zwei Optionen zur Verfügung:
- Sie können die DAX-Funktion
RELATED
oderRELATEDTABLE
verwenden, wenn die Tabellen direkt oder indirekt miteinander verbunden sind. Die FunktionRELATED
ruft den Wert auf der 1-Seite der Beziehung ab, während die FunktionRELATEDTABLE
die Werte auf der Viele-Seite abruft. Die FunktionRELATEDTABLE
gibt ein Tabellenobjekt zurück. - Wenn die Tabellen nicht verknüpft sind, können Sie die DAX-Funktion
LOOKUPVALUE
verwenden.
Versuchen Sie im Allgemeinen, die Funktion RELATED
zu verwenden, wann immer dies möglich ist. Sie bietet in der Regel eine bessere Leistung als die Funktion LOOKUPVALUE
, da Beziehungs‑ und Spaltendaten gespeichert und indiziert werden.
Fügen Sie nun der Tabelle Sales die folgende Definition einer berechneten Spalte hinzu:
Discount Amount =
(
Sales[Order Quantity]
* RELATED('Product'[List Price])
) - Sales[Sales Amount]
Die Definition einer berechneten Spalte fügt der Tabelle Sales die Spalte Discount Amount hinzu. Power BI wertet die berechnete Spaltenformel für jede Zeile der Tabelle Sales aus. Die Werte für die Spalten Order Quantity und Sales Amount werden im Zeilenkontext abgerufen. Da die Spalte Listenpreis jedoch zur Tabelle Product gehört, ist die Funktion RELATED
erforderlich, um den Listenpreiswert für das Verkaufsprodukt abzurufen.
Beim Auswerten der Formeln für berechnete Spalten wird der Zeilenkontext verwendet. Er wird auch verwendet, wenn eine Klasse von Funktionen verwendet wird, die als Iteratorfunktionen bezeichnet werden. Iteratorfunktionen bieten die Flexibilität, komplexe Zusammenfassungen zu erstellen. Iteratorfunktionen werden in einem späteren Modul beschrieben.