Udostępnij za pośrednictwem


LOOKUPVALUE

Dotyczy:kolumna obliczeniowatabela obliczeniowaMeasureobliczenia wizualne

Zwraca value dla wiersza spełniającego kryteria all określone przez jeden or więcej warunków search.

Składnia

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

Parametry

Termin Definicja
result_columnName Nazwa istniejącej kolumny, która containsvalue, którą chcesz zwrócić. Nie może to być wyrażenie.
search_columnName Nazwa istniejącej kolumny. Może ona znajdować się w tej samej tabeli co result_columnName or w tabeli related. Nie może to być wyrażenie. Można określić wiele par search_columnName and search_value.
search_value value search dla search_columnName. Można określić wiele par search_columnName and search_value.
alternateResult (Opcjonalnie) value zwrócony, gdy kontekst result_columnName został odfiltrowany do zera or więcej niż jeden odrębny value. If not określony funkcja zwraca BLANK, gdy result_columnName jest filtrowana do zera valuesorerror, gdy w kontekście result_columnName istnieje więcej niż jeden odrębny value.

Zwracanie value

value result_columnName w wierszu, w którym all pary search_columnNameandsearch_value mają dopasowanie exact.

If nie ma dopasowania, które spełnia all zwracany jest searchvalues, BLANKoralternateResult (określonyif). Innymi słowy, funkcja nie zwraca odnośnika, valueif tylko niektóre kryteria są zgodne.

If wiele wierszy odpowiada searchvaluesandvalues w result_columnName dla tych wierszy są identyczne, a następnie zwracana jest value. Jednak ifresult_columnName zwraca różne values, zwracany jest errororalternateResult (określonyif).

Uwagi

  • If istnieje relacja między tabelą, która contains kolumnę wyników and tabel, które zawierają kolumny search, w większości przypadków użycie funkcji RELATED zamiast LOOKUPVALUE jest bardziej wydajne, and zapewnia lepszą wydajność.

  • Można określić wiele par search_columnNameandsearch_value.

  • Parametry search_valueandalternateResult są oceniane, zanim funkcja iteruje wiersze tabeli search.

  • Unikaj używania funkcji ISERRORorIFERROR do przechwytywania error zwróconych przez LOOKUPVALUE. If niektórych danych wejściowych funkcji powoduje error, gdy nie można określić pojedynczego value wyjściowego, podając parametr alternateResult jest najbardziej niezawodnym and najbardziej wydajnym sposobem obsługi error.

  • Parametr alternateResult zwraca errorif określony w kolumnie obliczeniowej Power Pivot.

  • Ta funkcja jest not obsługiwana do użycia w trybie DirectQuery w przypadku użycia w kolumnach obliczeniowych or reguł zabezpieczeń na poziomie wiersza.

Przykład 1

W tym przykładzie LOOKUPVALUE służy do searchAverageRate za currency użyte do zapłaty za zamówienie na day złożone zamówienie:

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

Oba DateandCurrency Zamówienia są wymagane do findAverageRate dla poprawnego dateandcurrency. OrderDateKey and CurrencyKey to klucze używane do wyszukiwania AverageRate w tabeli CurrencyRate.

Możesz użyć Rate Exchange, aby calculate kwotę sprzedaży w currency lokalnych za pomocą:

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

Przykład 2

W tym przykładzie następująca kolumna obliczeniowa zdefiniowana w tabeli Sales używa funkcji do zwracania kanału z tabeli Sales Order.

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

Jednak w tym przypadku, ponieważ istnieje relacja między tabelami Sales OrderandSales, bardziej wydajne jest użycie funkcji RELATED.

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

RELATED, funkcja (DAX)Funkcje informacyjne