LOOKUPVALUE
Platí pro: Výpočet počítané tabulky Počítaná tabulka Výpočet vizuálu
Vrátí hodnotu řádku, která splňuje všechna kritéria zadaná jednou nebo více podmínkami hledání.
Syntaxe
LOOKUPVALUE (
<result_columnName>,
<search_columnName>,
<search_value>
[, <search2_columnName>, <search2_value>]…
[, <alternateResult>]
)
Parametry
Pojem | 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, funkce vrátí hodnotu 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. |
Vrácená hodnota
Hodnota result_columnName na řádku, kde mají všechny dvojice search_columnName a search_value přesnou shodu.
Pokud neexistuje shoda, která splňuje všechny hodnoty hledání, vrátí se hodnota BLANK nebo alternateResult (pokud je zadána). Jinými slovy, funkce nevrací vyhledávací hodnotu, pokud se shodují jenom některá kritéria.
Pokud více řádků odpovídá hodnotám hledání a hodnotám v result_columnName pro tyto řádky, vrátí se tato hodnota. Pokud však result_columnName vrátí jiné hodnoty, vrátí se chyba nebo alternativníresult (pokud je zadáno).
Poznámky
Pokud existuje relace mezi tabulkou, která obsahuje výsledný sloupec a tabulky obsahující vyhledávací sloupce, ve většině případů je použití funkce RELATED místo funkce LOOKUPVALUE efektivnější a poskytuje lepší výkon.
Lze 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é funkcí 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 funkce 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 (Prodejní objednávka) a Sales (Prodejní objednávka), je efektivnější použít funkci RELATED.
CHANNEL = RELATED('Sales Order'[Channel])