Freigeben über


LOOKUPVALUE

Gilt für:Berechnete Spalteberechnete TabelleMeasurevisuelle Berechnung

Gibt die value für die Zeile zurück, die all Kriterien erfüllt, die durch eine or weitere search Bedingungen angegeben sind.

Syntax

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

Parameter

Ausdruck Definition
result_columnName Der Name einer vorhandenen Spalte, die die zurückzugebende containsvalue. Es kann kein Ausdruck sein.
search_columnName Der Name einer vorhandenen Spalte. Sie kann sich in derselben Tabelle wie result_columnName or in einer related Tabelle befinden. Es kann kein Ausdruck sein. Mehrere Paare von search_columnName and search_value können angegeben werden.
search_value Die valuesearch für search_columnName. Mehrere Paare von search_columnName and search_value können angegeben werden.
alternateResult (Optional) Die value zurückgegeben, wenn der Kontext für result_columnName auf Null gefiltert wurde, or mehr als eine unterschiedliche value. If not angegeben, gibt die Funktion BLANK zurück, wenn result_columnName nach Null gefiltert wird, valuesor eine error, wenn im Kontext für result_columnName mehrere unterschiedliche value vorhanden sind.

value zurückgeben

Die value von result_columnName an der Zeile, in der all Paare von search_columnNameandsearch_value eine exact Übereinstimmung aufweisen.

If es keine Übereinstimmung gibt, die allsearchvalueserfüllt, wird BLANKoralternateResult (if angegeben) zurückgegeben. Mit anderen Worten, die Funktion gibt keine Nachschlagefunktion zurück, valueif nur einige der Kriterien übereinstimmen.

If mehreren Zeilen mit dem searchvaluesand der values in der result_columnName für diese Zeilen identisch sind, wird dann value zurückgegeben. if result_columnName gibt jedoch unterschiedliche valueszurück, eine errororalternateResult (if angegeben) wird zurückgegeben.

Bemerkungen

  • If gibt es eine Beziehung zwischen der Tabelle, contains die die Ergebnisspalte and Tabellen and, die die RELATED Spalten enthalten, in den meisten Fällen ist die Verwendung der LOOKUPVALUE-Funktion anstelle von and effizienter, eine bessere Leistung bietet.

  • Mehrere Paare von search_columnNameandsearch_value können angegeben werden.

  • Die search_valueandalternateResult Parameter werden ausgewertet, bevor die Funktion die Zeilen der search Tabelle durchläuft.

  • Vermeiden Sie die Verwendung ISERRORorIFERROR Funktionen, um eine von errorzurückgegebene LOOKUPVALUE zu erfassen. If einige Eingaben an die Funktion führen zu einer error, wenn eine einzelne Ausgabe value nicht bestimmt werden kann, ist die Bereitstellung eines alternateResult Parameters die zuverlässigste and leistungsstärkste Methode, um die errorzu verarbeiten.

  • Der alternateResult-Parameter gibt eine errorif zurück, die in einer Power berechneten Pivotspalte angegeben ist.

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

Beispiel 1

In diesem Beispiel wird LOOKUPVALUE verwendet, um searchAverageRate für die currency, die zum Bezahlen der Bestellung auf der day der Bestellung verwendet wurde:

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

Beide DateandCurrency müssen die findAverage für die richtige Ratedateandcurrency. OrderDateKey and CurrencyKey sind die Schlüssel, die zum Nachschlagen der AverageRate in der CurrencyRate Tabelle verwendet werden.

Sie können den Exchange-Rate verwenden, um den Umsatzbetrag in lokalen calculate zu currency 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 LOOKUPVALUE-Funktion, um Kanal-values aus der Tabelle Sales Order zurückzugeben.

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

In diesem Fall ist es jedoch effizienter, die -Funktion zu verwenden, da es eine Beziehung zwischen der andRELATED Tabellen gibt.

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

RELATED Funktion (DAX)Informationsfunktionen