LOOKUPVALUE

Gilt für:Berechnete SpalteBerechnete TabelleMeasurevisuelle Berechnung

Gibt den Wert für die Zeile zurück, die alle durch eine oder mehrere Suchbedingungen angegebenen Kriterien erfüllt.

Syntax

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

Parameter

Ausdruck Definition
result_columnName Der Name einer vorhandenen Spalte, die den Wert enthält, den Sie zurückgeben möchten. Es kann kein Ausdruck sein.
search_columnName Der Name einer vorhandenen Spalte. Sie kann sich in derselben Tabelle wie result_columnName oder in einer verknüpften Tabelle befinden. Es kann kein Ausdruck sein. Sie können mehrere Paare von search_columnName und search_value angeben.
search_value Der wert, nach dem in search_columnName gesucht werden soll. Sie können mehrere Paare von search_columnName und search_value angeben.
alternateResult (Optional) Der wert, der zurückgegeben wird, wenn der Kontext für result_columnName nach null oder mehr als einem eindeutigen Wert gefiltert wird. Wenn nicht angegeben, gibt die Funktion zurück BLANK , wenn result_columnName nach null Werten gefiltert wird, oder wenn der Kontext für result_columnName mehr als einen eindeutigen Wert aufweist.

Rückgabewert

Der Wert von result_columnName in der Zeile, in der alle Paare von search_columnName und search_value eine genaue Übereinstimmung aufweisen.

Wenn keine Übereinstimmung alle Suchwerte erfüllt, wird die Funktion zurückgegeben BLANK oder alternateResult (sofern angegeben). Anders ausgedrückt, gibt die Funktion keinen Nachschlagewert zurück, wenn nur einige der Kriterien übereinstimmen.

Wenn mehrere Zeilen den Suchwerten entsprechen und die Werte in den result_columnName für diese Zeilen identisch sind, wird dieser Wert zurückgegeben. Wenn result_columnName jedoch unterschiedliche Werte zurückgegeben werden, gibt die Funktion einen Fehler oder alternateResult (falls angegeben) zurück.

Bemerkungen

  • Wenn eine Beziehung zwischen der Tabelle besteht, die die Ergebnisspalte und Tabellen enthält, die die Suchspalten enthalten, ist die Verwendung der RELATED Funktion in LOOKUPVALUE den meisten Fällen effizienter und bietet eine bessere Leistung.

  • Sie können mehrere Paare von search_columnName und search_value.

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

  • Vermeiden Sie die Verwendung ISERROR oder IFERROR Erfassung eines von LOOKUPVALUEihnen zurückgegebenen Fehlers. Wenn einige Eingaben für die Funktion zu einem Fehler führen, wenn ein einzelner Ausgabewert nicht bestimmt werden kann, ist die Bereitstellung eines alternateResult Parameters die zuverlässigste und leistungsstärkste Methode zur Behandlung des Fehlers.

  • Der parameter alternateResult gibt einen Fehler zurück, wenn er in einer berechneten Power Pivot-Spalte angegeben ist.

  • Diese Funktion wird für die Verwendung im DirectQuery-Modus nicht unterstützt, wenn sie in berechneten Spalten oder Sicherheitsregeln auf Zeilenebene (RLS) verwendet wird.

Beispiele in diesem Artikel können mit dem Beispielmodell Adventure Works DW 2020 Power BI Desktop verwendet werden. Informationen zum Abrufen des Modells finden Sie unter DAX Beispielmodell.

Beispiel 1

In diesem Beispiel wird der durchschnittliche Zinssatz für die Währung durchsucht, LOOKUPVALUE die zum Bezahlen der Bestellung am Tag der Bestellung verwendet wurde:

Exchange Rate =
LOOKUPVALUE (
    'Currency Rate'[Average Rate],
    'Currency Rate'[CurrencyKey], [CurrencyKey],
    'Currency Rate'[DateKey], [OrderDateKey]
)

Sie benötigen sowohl das Bestelldatum als auch die Währung, um den durchschnittlichen Kurs für das richtige Datum und die richtige Währung zu finden. OrderDateKey und CurrencyKey sind die Schlüssel, die zum Nachschlagen des Mittelwerts in der Tabelle "Währungssatz" verwendet werden.

Sie können den Wechselkurs verwenden, um den Umsatzbetrag in lokaler Währung zu berechnen mit:

Sales Amount Local Currency =
[Sales Amount] * [Exchange Rate]

Beispiel 2

In diesem Beispiel verwendet die in der Tabelle Sales tabelle definierte berechnete Spalte die funktion LOOKUPVALUE, um Kanalwerte aus der Tabelle Sales Order zurückzugeben.

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

Da jedoch in diesem Fall eine Beziehung zwischen den Tabellen " Verkaufsauftrag " und " Vertrieb " besteht, ist es effizienter, die RELATED Funktion zu verwenden.

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