LOOKUPVALUE

platí pro:Počítaný sloupecPočítaná tabulkamíravizuální

Vrátí hodnotu řádku, která splňuje všechna kritéria zadaná jednou nebo více podmínkami hledání.

Syntax

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

Parametry

Semestr Definice
result_columnName Název existujícího sloupce, který obsahuje hodnotu, kterou chcete vrátit. Nemůže to být výraz.
search_columnName Název existujícího sloupce Může být ve stejné tabulce jako result_columnName nebo v související tabulce. Nemůže to být výraz. Můžete zadat více dvojic search_columnName a search_value.
search_value Hodnota, kterou chcete vyhledat v search_columnName. Můžete zadat více dvojic search_columnName a search_value.
alternateResult (Volitelné) Hodnota vrácená v případě, že je kontext pro result_columnName filtrován na nulu nebo více než jednu jedinečnou hodnotu. Pokud není zadáno, funkce se vrátí BLANK , když je result_columnName filtrován na nulové hodnoty, nebo chybu, pokud kontext pro result_columnName má více než jednu jedinečnou hodnotu.

Návratová hodnota

Hodnota result_columnName na řádku, kde mají všechny páry search_columnName a search_value přesnou shodu.

Pokud žádná shoda nesplňuje všechny hodnoty hledání, funkce vrátí BLANK nebo alternateResult (pokud je zadána). Jinými slovy, funkce nevrací vyhledávací hodnotu, pokud se shodují jenom některá kritéria.

Pokud se více řádků shoduje s hledanými hodnotami a hodnotami v result_columnName těchto řádcích jsou identické, vrátí se tato hodnota. Pokud result_columnName ale vrátí jiné hodnoty, vrátí funkce chybu nebo alternateResult (pokud je zadána).

Poznámky

  • Pokud mezi tabulkou, která obsahuje sloupec výsledků, a tabulkami obsahujícími vyhledávací sloupce existuje relace, ve většině případů je použití RELATED funkce LOOKUPVALUE efektivnější a poskytuje lepší výkon.

  • Můžete zadat více dvojic search_columnName a search_value.

  • Parametry search_value a alternateResult se vyhodnocují před iterací funkce přes řádky vyhledávací tabulky.

  • ISERROR Nepoužívejte nebo IFERROR zachytávejte chybu vrácenou chybou LOOKUPVALUE. Pokud některé vstupy funkce způsobí chybu v případě, že nejde určit jednu výstupní hodnotu, je poskytnutí alternateResult parametru nejspolehlivějším a nejvýkonnějším způsobem zpracování chyby.

  • Parametr alternateResult vrátí chybu, pokud je zadaný v počítaném sloupci Power Pivotu.

  • Tato funkce není podporována pro použití v režimu DirectQuery při použití v počítaných sloupcích nebo pravidlech zabezpečení na úrovni řádků (RLS).

Příklady v tomto článku můžete použít s ukázkovým modelem Adventure Works DW 2020 Power BI Desktopu. Pokud chcete model získat, podívejte se na DAX ukázkový model.

Příklad 1

V tomto příkladu LOOKUPVALUE vyhledá průměrnou sazbu pro měnu použitou k úhradě objednávky v den, kdy byla objednávka zadána:

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

K vyhledání průměrné sazby pro správné datum a měnu potřebujete datum objednávky i měnu. OrderDateKey a CurrencyKey jsou klíče použité k vyhledání průměrné sazby v tabulce Kurz měny.

Směnný kurz můžete použít k výpočtu částky prodeje v místní měně pomocí:

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

Příklad 2

V tomto příkladu následující počítaný sloupec definovaný v tabulce Sales používá funkci LOOKUPVALUE k vrácení hodnot kanálu z tabulky Sales Order.

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

V tomto případě ale existuje relace mezi tabulkami Sales Order (Prodejní objednávka ) a Sales (Prodejní objednávka), je efektivnější použít RELATED funkci.

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