Etwas über den Zeilenkontext erfahren

Abgeschlossen

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 oder RELATEDTABLE verwenden, wenn die Tabellen direkt oder indirekt miteinander verbunden sind. Die Funktion RELATED ruft den Wert auf der 1-Seite der Beziehung ab, während die Funktion RELATEDTABLE die Werte auf der Viele-Seite abruft. Die Funktion RELATEDTABLE 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.