Vyhledávání ve vzorcích PowerPivotu

Platí pro
Excel pro Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016

Jednou z nejvýkonnějších funkcí Power Pivotu je možnost vytvářet relace mezi tabulkami a potom pomocí souvisejících tabulek vyhledávat nebo filtrovat související data. Související hodnoty se z tabulek načítají pomocí jazyka vzorců, který je součástí doplňku Power Pivot, jazyka DAX (Data Analysis Expressions). Jazyk DAX používá relační model, a proto může snadno a přesně načíst související nebo odpovídající hodnoty z jiné tabulky nebo sloupce. Pokud znáte funkci SVYHLEDAT v Excelu, najdete tu podobnost, ale tato funkce v Power Pivotu je mnohem jednodušší na implementaci.

Vzorce, které provádějí vyhledávání, můžete vytvořit jako součást počítaného sloupce nebo jako součást míry pro použití v kontingenční tabulce nebo kontingenčním grafu. Další informace najdete v těchto tématech:

Počítaná pole v Power Pivotu

Počítané sloupce v Power Pivotu

Tato část popisuje funkce jazyka DAX, které jsou k dispozici pro vyhledávání, spolu s některými příklady použití těchto funkcí.

Poznámka

V závislosti na typu operace vyhledávání nebo vyhledávacího vzorce, který chcete použít, bude pravděpodobně nejprve nutné vytvořit relaci mezi tabulkami.

Principy vyhledávacích funkcí

Možnost vyhledávat odpovídající nebo související data z jiné tabulky je užitečná zejména v situacích, kdy aktuální tabulka obsahuje pouze určitý druh identifikátoru, ale potřebná data (například cena produktu, název nebo jiné podrobné hodnoty) jsou uložena v související tabulce. Je také užitečné, pokud jiná tabulka obsahuje více řádků, které souvisejí s aktuálním řádkem nebo aktuální hodnotou. Můžete třeba snadno načíst všechny prodeje spojené s určitou oblastí, obchodem nebo prodejcem.

Na rozdíl od vyhledávacích funkcí aplikace Excel, jako je například funkce SVYHLEDAT, která je založena na polích, nebo funkce VYHLEDAT, která získá první z více odpovídajících hodnot, jazyk DAX používá existující relace mezi tabulkami spojenými klíči, aby získal jedinou související hodnotu, která se přesně shoduje. Jazyk DAX může také načíst tabulku záznamů, které se vztahují k aktuálnímu záznamu.

Poznámka

Pokud jste obeznámení s relačními databázemi, můžete si vyhledávání v Power Pivotu představit podobně jako příkaz vnořeného dílčího výběru v jazyce Transact-SQL.

Funkce RELATED vrací jednu hodnotu z jiné tabulky, která je v relaci k aktuální hodnotě v aktuální tabulce. Zadáte sloupec obsahující požadovaná data a funkce bude kopírovat podle existujících relací mezi tabulkami hodnotu ze zadaného sloupce v související tabulce. V některých případech musí funkce při načtení dat dodržet řetěz relací.

Předpokládejme například, že máte v Excelu seznam dnešních dodávek. Seznam však obsahuje pouze identifikační číslo zaměstnance, ID objednávky a ID dopravce, což ztěžuje čitelnost sestavy. Pokud chcete získat další požadované informace, můžete tento seznam převést na propojenou tabulku Power Pivotu a potom vytvořit relace k tabulkám Employee (Zaměstnanec) a Reseller (Prodejce), přičemž pole EmployeeID přiřadíte k poli EmployeeKey a pole ResellerID k poli ResellerKey.

Chcete-li zobrazit vyhledávací informace v propojené tabulce, přidejte dva nové počítané sloupce s následujícími vzorci:

= RELATED('Employees'[EmployeeName])
= RELATED('Resellers'[CompanyName])

Dnešní zásilky před vyhledáváním

OrderID ID zaměstnance ID prodejce
100314 230 445
100315 15 445
100316 76 108

Tabulka Zaměstnanci

ID zaměstnance Zaměstnanec Prodejce
230 Kuppa Vamsi Modulární cyklické systémy
15 Pilar Ackeman Modulární cyklické systémy
76 Kim Rallsová Přidružená kola

Dnešní zásilky s vyhledáváním

OrderID ID zaměstnance ID prodejce Zaměstnanec Prodejce
100314 230 445 Kuppa Vamsi Modulární cyklické systémy
100315 15 445 Pilar Ackeman Modulární cyklické systémy
100316 76 108 Kim Rallsová Přidružená kola

Funkce využívá relace mezi propojenou tabulkou a tabulkou Zaměstnanci a Prodejci k získání správných názvů pro každý řádek v sestavě. Pro výpočty lze také použít související hodnoty. Další informace a příklady najdete v tématu Funkce RELATED.

Funkce RELATEDTABLE sleduje existující relaci a vrátí tabulku, která obsahuje všechny odpovídající řádky ze zadané tabulky. Předpokládejme například, že chcete zjistit, kolik objednávek jednotliví prodejci letos učinili. V tabulce Prodejci byste mohli vytvořit nový počítaný sloupec, který by obsahoval následující vzorec, který vyhledá záznamy pro každého prodejce v tabulce ResellerSales_USD a spočítá počet jednotlivých objednávek od každého prodejce. 

=COUNTROWS(RELATEDTABLE(ResellerSales_USD))

V tomto vzorci funkce RELATEDTABLE nejprve získá hodnotu ResellerKey pro každého prodejce v aktuální tabulce. (Sloupec ID nemusíte zadávat nikde ve vzorci, protože Power Pivot používá stávající relaci mezi tabulkami.) Funkce RELATEDTABLE pak získá všechny řádky z tabulky ResellerSales_USD, které jsou v relaci s jednotlivými prodejci, a spočítá řádky. Pokud mezi tabulkami není žádná relace (přímá ani nepřímá), získáte všechny řádky z ResellerSales_USD tabulky.

Pro prodejce Modular Cycle Systems v naší ukázkové databázi jsou v tabulce sales čtyři objednávky, takže funkce vrátí 4. U Associated Bikes nemá prodejce žádné prodeje, takže funkce vrátí prázdnou hodnotu.

Prodejce Záznamy v tabulce prodeje pro tohoto prodejce
Modulární cyklické systémy ID prodejce
445
445
445
445
ID prodejce
Přidružená kola

Poznámka

Vzhledem k tomu, že funkce RELATEDTABLE vrací tabulku, ne jedinou hodnotu, musí se použít jako argument funkce, která provádí operace s tabulkami. Další informace najdete v tématu Funkce RELATEDTABLE.

Začátek stránky