LOOKUPVALUE
Gilt für:berechnete Spaltenberechnete TabellenMeasuresvisuelle Berechnungen
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. Es können mehrere Paare von „search_columnName“ und „search_value“ angegeben werden. |
search_value | Dies ist der Wert, nach dem in search_columnName gesucht werden soll. Es können mehrere Paare von „search_columnName“ und „search_value“ angegeben werden. |
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 nicht angegeben, gibt die Funktion einen leeren Wert zurück, wenn „result_columnName“ auf Nullwerte gefiltert wird, oder einen Fehler, wenn im Kontext für „result_columnName“ mehr als ein eindeutiger Wert vorhanden ist. |
Rückgabewert
Der Wert von result_columnName in der Zeile, in der alle Paare von search_columnName und search_value eine genaue Übereinstimmung haben.
Wenn es keine Übereinstimmung gibt, die alle Suchwerte erfüllt, wird ein leerer Wert oder alternateResult zurückgegeben (falls angegeben). Anders gesagt, die Funktion gibt keinen Suchwert zurück, wenn nur ein paar der Kriterien übereinstimmen.
Wenn mehrere Zeilen mit den Suchwerten übereinstimmen und die Werte von 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 zurückgegeben (falls angegeben).
Bemerkungen
Wenn eine Beziehung zwischen der Tabelle, die die Ergebnisspalte enthält, und den Tabellen, die die Suchspalten enthalten, besteht, ist die Verwendung der RELATED-Funktion anstelle der Funktion „LOOKUPVALUE“ in den meisten Fällen effizienter und bietet eine bessere Leistung.
Es können mehrere Paare von search_columnName und search_value angegeben werden.
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.
Der alternateResult-Parameter gibt einen Fehler zurück, wenn er in einer berechneten PowerPivot-Spalte angegeben ist.
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 1
In diesem Beispiel wird LOOKUPVALUE verwendet, um den Durchschnittskurs nach der Währung, die zum Bezahlen der Bestellung am Tag der Bestellung verwendet wurde, zu durchsuchen:
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 Durchschnittskurs für das richtige Datum und die richtige Währung zu ermitteln. „OrderDateKey“ und „CurrencyKey“ sind die Schlüssel, die verwendet werden, um den Durchschnittskurs in der Tabelle Währungskurs zu suchen.
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 folgende berechnete Spalte, die in der Tabelle Verkauf definiert ist, die LOOKUPVALUE-Funktion zum Zurückgeben von Kanalwerten aus der Tabelle Verkaufsauftrag.
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])