LOOKUPVALUE
platí pro:Počítaný sloupec
Počítaná tabulka
míra
vizuá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
asearch_value
.Parametry
search_value
aalternateResult
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])