LOOKUPVALUE

Diese Funktion gibt den Wert für die Zeile zurück, die alle durch mindestens eine Suchbedingung angegebenen Kriterien erfüllt.

Syntax

LOOKUPVALUE(
    <result_columnName>,
    <search_columnName>,
    <search_value>
    [, <search2_columnName>, <search2_value>]…
    [, <alternateResult>]
)

Parameter

Begriff Definition
result_columnName Der Name einer vorhandenen Spalte, die den Wert enthält, den Sie zurückgeben möchten. Es darf kein Ausdruck sein.
search_columnName Hierbei handelt es sich um den Namen einer vorhandenen Spalte. Diese kann sich in derselben Tabelle befinden wie „Ergebnis_Spaltenname“ oder in einer verknüpften Tabelle. Es darf kein Ausdruck sein.
search_value Dies ist der Wert, nach dem in search_columnName gesucht werden soll.
alternateResult Der Wert wird zurückgegeben, wenn der Kontext für result_columnName auf 0 (Null) oder mehr als einen bestimmten Wert gefiltert wurde (optional). Wenn dieser Wert nicht angegeben ist, gibt die Funktion einen leeren Wert zurück, wenn „Ergebnis_Spaltenname“ auf den Wert 0 (Null) gefiltert wird. Ein Fehler wird zurückgegeben, wenn mehr als ein eindeutiger Wert vorliegt.

Rückgabewert

Der Wert von Ergebnis_Spalte in der Zeile, in der alle Paare von Suche_Spalte und Suche_Wert eine genaue Übereinstimmung haben.

Wenn es keine Übereinstimmung gibt, die alle Suchwerte erfüllt, wird ein leerer Wert oder alternatives_Ergebnis zurückgegeben (falls vorhanden). Anders gesagt, die Funktion gibt keinen Suchwert zurück, wenn nur ein paar der Kriterien übereinstimmen.

Wenn mehrere Zeilen mit den Suchwerten übereinstimmen und in allen Fällen die Ergebnis_Spalte-Werte identisch sind, wird dieser Wert zurückgegeben. Wenn Ergebnis_Spalte jedoch unterschiedliche Werte zurückgibt, wird ein Fehler oder alternatives_Ergebniszurückgegeben (falls vorhanden).

Bemerkungen

  • Wenn eine Beziehung zwischen dem Ergebnis und den Suchtabellen besteht, ist die Verwendung der RELATED-Funktion anstelle von LOOKUPVALUE in den meisten Fällen effizienter und bietet eine bessere Leistung.

  • Die Parameter Suche_Wert und alternatives_Ergebnis werden ausgewertet, bevor die Funktion die Zeilen der Suchtabelle durchläuft.

  • Vermeiden Sie die Verwendung von ISERROR- oder IFERROR-Funktionen, um einen von LOOKUPVALUE zurückgegebenen Fehler zu erfassen. Wenn einige Eingaben für die Funktion zu einem Fehler führen, weil kein einzelner Ausgabewert ermittelt werden kann, ist die Angabe eines alternateResult-Parameters die zuverlässigste und leistungsfähigste Methode zur Fehlerbehandlung.

  • Die Verwendung dieser Funktion im DirectQuery-Modus wird nicht unterstützt, wenn sie in berechneten Spalten oder RLS-Regeln (Row-Level Security) eingesetzt wird.

Beispiel

Die Beispiele in diesem Artikel können mit dem Beispielmodell für Power BI Desktop verwendet werden. Informationen zum Abrufen des Modells finden Sie unter DAX-Beispielmodell.

Die folgende berechnete Spalte, die in der Sales-Tabelle definiert ist, verwendet die LOOKUPVALUE-Funktion zum Zurückgeben von Channelwerten aus der Sales Order-Tabelle.

CHANNEL = LOOKUPVALUE('Sales Order'[Channel],'Sales Order'[SalesOrderLineKey],[SalesOrderLineKey])

Da jedoch in diesem Fall eine Beziehung zwischen der Sales Order- und der Sales-Tabelle besteht, ist die Verwendung der RELATED-Funktion effizienter.

CHANNEL = RELATED('Sales Order'[Channel])

Siehe auch

RELATED-Funktion (DAX)
Informationsfunktionen