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. Môžete zadať viacero párov search_columnName a search_value.
search_value Hodnota, ktorá sa má vyhľadávať v search_columnName. Môžete 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ď je result_columnName filtrovaný na nulové hodnoty, alebo chybu, keď má kontext pre result_columnName viac ako jednu jedinečnú hodnotu.

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á žiadna zhoda so všetkými hodnotami vyhľadávania, funkcia vráti BLANK hodnotu 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 týchto riadkoch sú identické, vráti sa táto hodnota. Ak result_columnName však vráti rôzne hodnoty, funkcia vráti chybu 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ú vyhľadávané stĺpce, vo väčšine prípadov je použitie RELATED funkcie namiesto LOOKUPVALUE efektívnejšej a poskytuje lepší výkon.

  • Môžete určiť viacero párov argumentov search_columnName a search_value.

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

  • ISERROR Nepoužívajte knižnicu ani IFERROR zaznamenávajte chybu, 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, ktorý alternateResult je najspoľahlivejším a najvýkonnejším spôsobom na spracovanie chyby.

  • 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íklady v tomto článku možno použiť so vzorovým modelom aplikácie Power BI Desktop Adventure Works DW 2020. Ak chcete získať model, pozrite si DAX ukážkový model.

Príklad č. 1

V tomto príklade sa vyhľadá priemerná sadzba pre menu, LOOKUPVALUE 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]
)

Potrebujete dátum objednávky aj menu, aby ste našli Priemernú sadzbu pre správny dátum a menu. 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]
)

Vzhľadom na to, že existuje vzťah medzi tabuľkami Sales Order (Predajná objednávka ) a Sales (Predaj ), je efektívnejšie funkciu používať RELATED .

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