Freigeben über


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. Mehrere Paare von search_columnName und search_value können angegeben werden.
search_value Der wert, nach dem in search_columnName gesucht werden soll. Mehrere Paare von search_columnName und search_value können angegeben werden.
alternateResult (Optional) Der Wert, der zurückgegeben wird, wenn der Kontext für result_columnName nach null oder mehr als einem eindeutigen Wert gefiltert wurde. Wenn nicht angegeben, gibt die Funktion BLANK zurück, wenn result_columnName auf Nullwerte gefiltert wird, oder ein Fehler, wenn mehrere unterschiedliche Werte im Kontext für result_columnName vorhanden sind.

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 vorhanden ist, die allen Suchwerten entspricht, wird BLANK oder alternateResult (sofern angegeben) zurückgegeben. 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 der result_columnName für diese Zeilen identisch sind, wird dieser Wert zurückgegeben. Wenn result_columnName jedoch unterschiedliche Werte zurückgibt, wird ein Fehler oder alternateResult (sofern angegeben) zurückgegeben.

Bemerkungen

  • Wenn es eine Beziehung zwischen der Tabelle gibt, die die Ergebnisspalte und Tabellen enthält, die die Suchspalten enthalten, ist die Verwendung der RELATED-Funktion anstelle von LOOKUPVALUE effizienter und bietet eine bessere Leistung.

  • Mehrere Paare von search_columnName und search_value können angegeben werden.

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

  • Vermeiden Sie die Verwendung von ISERROR- oder IFERROR-Funktionen, um einen von LOOKUPVALUEzurückgegebenen Fehler zu erfassen. Wenn einige Eingaben für die Funktion zu einem Fehler führen, wenn ein einzelner Ausgabewert nicht bestimmt werden kann, ist die Angabe 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.

Beispiel 1

In diesem Beispiel wird LOOKUPVALUE verwendet, um den Durchschnittssatz für die Währung zu durchsuchen, 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]
)

Sowohl das Bestelldatum als auch die Währung sind erforderlich, um den durchschnittlichen Kurs für das richtige Datum und die richtige Währung zu ermitteln. 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]
)

In diesem Fall ist es jedoch effizienter, die RELATED-Funktion zu verwenden, da es in diesem Fall eine Beziehung zwischen dem Sales Order und Tabellen "Sales" gibt.

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

RELATED Funktion (DAX)Informationsfunktionen