Sdílet prostřednictvím


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. Lze zadat více dvojic search_columnName a search_value.
search_value Hodnota, kterou chcete vyhledat v search_columnName. Lze zadat více dvojic search_columnName a search_value.
alternateResult (Volitelné) Hodnota vrácená v případě, že byl kontext pro result_columnName filtrován na nulu nebo více než jednu jedinečnou hodnotu. Pokud není zadáno, vrátí funkce BLANK, pokud je result_columnName filtrována na nulové hodnoty nebo chyba, pokud je v kontextu pro result_columnName více než jedna jedinečná hodnota.

Návratová hodnota

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

Pokud neexistuje shoda, která splňuje všechny hodnoty hledání, vrátí se BLANK nebo alternateResult (pokud je zadáno). 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 pro tyto řádky, vrátí se tato hodnota. Pokud však result_columnName vrátí různé hodnoty, vrátí se chyba nebo alternateResult (pokud je zadáno).

Poznámky

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

  • Je možné 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.

  • Nepoužívejte funkce ISERROR nebo IFERROR k zachycení chyby vrácené LOOKUPVALUE. Pokud některé vstupy funkce způsobí chybu v případě, že nelze určit jednu výstupní hodnotu, je poskytnutí parametru alternateResult 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říklad 1

V tomto příkladu se LOOKUPVALUE používá k vyhledání průměrné sazby 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 se vyžaduje datum objednávky i měna. 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 a Sales, je efektivnější použít funkci RELATED.

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

funkce RELATED (DAX)informační funkce