Informationen zum Zeilenkontext

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. Sie werden feststellen, dass das gleiche Konzept in Microsoft Excel für die Arbeit mit Formeln in Excel-Tabellen angewandt wird.

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:

  • Wenn die Tabellen direkt oder indirekt verknüpft sind, können Sie die DAX-Funktionen RELATED oder RELATEDTABLE verwenden. Die RELATED-Funktion ruft den Wert auf der 1-Seite der Beziehung ab, während RELATEDTABLE Werte auf der anderen Seite abruft. Die RELATEDTABLE-Funktion gibt ein Tabellenobjekt zurück.
  • Wenn die Tabellen nicht verknüpft sind, können Sie die DAX-Funktion LOOKUPVALUE verwenden.

Verwenden Sie grundsätzlich nach Möglichkeit die RELATED-Funktion. Sie weist normalerweise aufgrund der Art, wie Beziehungs- und Spaltendaten gespeichert und indiziert werden, eine höhere Leistung als die LOOKUPVALUE-Funktion auf.

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 Formel für die berechnete Spalte 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 List Price jedoch zur Tabelle Product gehört, ist die RELATED-Funktion erforderlich, um den Wert für den Listenpreis 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. Iterator-Funktionen werden in einem späteren Modul erläutert.