Zdieľať cez


LOOKUPVALUE

Vzťahuje sa na:vypočítaný stĺpecvypočítanej tabuľkyvizuálového výpočtu

Vráti hodnotu pre riadok, ktorý spĺňa všetky kritériá zadané na základe jednej alebo viacerých podmienok vyhľadávania.

Syntax

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

Parametre

Termín Definícia
result_columnName Názov existujúceho stĺpca, ktorý obsahuje hodnotu, ktorú chcete vrátiť. Nemôže to byť výraz.
search_columnName Názov existujúceho stĺpca. Môže sa nachádzať v rovnakej tabuľke ako result_columnName alebo v súvisiacej tabuľke. Nemôže to byť výraz. Je možné zadať viacero párov search_columnName a search_value.
search_value Hodnota, ktorá sa má vyhľadávať v search_columnName. Je možné zadať viacero párov search_columnName a search_value.
alternateResult (Voliteľné) Hodnota vrátená, keď je kontext pre result_columnName filtrovaný nadol na nulu alebo na viac ako jednu rôznu hodnotu. Ak parameter nie je zadaný, funkcia vráti BLANK, keď sa result_columnName vyfiltruje na nulové hodnoty, alebo vráti chybu, keď v kontexte pre result_columnName existuje viac ako jedna jedinečná hodnota.

Vrátená hodnota

Hodnota result_columnName v riadku, v ktorom majú všetky páry search_columnName a search_value presnú zhodu.

Ak nie je splnená zhoda, ktorá spĺňa všetky hodnoty vyhľadávania, vráti sa hodnota BLANK alebo alternateResult (ak je zadaná). Inými slovami, funkcia nevráti vyhľadávanú hodnotu, ak sa zhodujú iba niektoré kritériá.

Ak viaceré riadky zodpovedajú hľadaným hodnotám a hodnoty v result_columnName pre tieto riadky sú identické, vráti sa táto hodnota. Ak však result_columnName vráti rôzne hodnoty, vráti sa chyba alebo alternateResult (ak je zadaná).

Poznámky

  • Ak existuje vzťah medzi tabuľkou, ktorá obsahuje stĺpec výsledkov a tabuľky, ktoré obsahujú vo väčšine prípadov stĺpce vyhľadávania, použitie funkcie RELATED namiesto LOOKUPVALUE je efektívnejšie a poskytuje lepší výkon.

  • Možno zadať viacero párov search_columnName a search_value.

  • Parametre search_value a alternateResult sa vyhodnocujú, kým funkcia prejde riadkami tabuľky vyhľadávania.

  • Nepoužívajte funkcie ISERROR ani IFERROR na zaznamenanie chyby, ktorú vrátila funkcia LOOKUPVALUE. Ak niektoré vstupy do funkcie vedú k chybe, keď nie je možné určiť jednu výstupnú hodnotu, zadajte parameter alternateResult najspoľahlivejší a najspoľahlivejší spôsob, ako spracovať chybu.

  • Parameter alternateResult vráti chybu, ak je zadaný vo vypočítanom stĺpci doplnku Power Pivot.

  • Táto funkcia nie je podporovaná na použitie v režime DirectQuery, keď sa používa vo vypočítaných stĺpcoch alebo v pravidlách zabezpečenia na úrovni riadkov (RLS).

Príklad č. 1

V tomto príklade sa LOOKUPVALUE používa na vyhľadávanie priemernej sadzby pre menu, ktorá sa používa na zaplatenie objednávky v deň, kedy bola objednávka umiestnená:

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

Na vyhľadanie priemernej sadzby pre správny dátum a menu sa vyžaduje dátum objednávky aj mena. OrderDateKey a CurrencyKey sú kľúče používané na vyhľadanie priemerného kurzu v tabuľke Menový kurz.

Pomocou výmenného kurzu môžete vypočítať Čiastku predaja v lokálnej mene pomocou:

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

Príklad č. 2

Nasledujúci vypočítaný stĺpec definovaný v tabuľke Sales používa funkciu LOOKUPVALUE na vrátenie hodnôt kanála z tabuľky Predajná objednávka.

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

Keďže však existuje vzťah medzi tabuľkami Sales Order a Sales, je efektívnejšie používať funkciu RELATED.

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

Funkcia RELATED (DAX)informačné funkcie