Vyhledávání ve vzorcích Power Pivotu

Důležité :  Tento článek je strojově přeložený – přečtěte si toto upozornění. Anglickou verzi tohoto článku pro referenci najdete tady.

Jednou z nejvýkonnějších funkcí doplňku Power Pivot je možnost vytvářet relace mezi tabulkami a pak pomocí souvisejících tabulek vyhledávat nebo filtrovat související data. Doplněk  Power Pivot poskytuje pro tvorbu vzorců jazyk DAX (Data Analysis Expressions). S jeho pomocí jdou z tabulek načítat související hodnoty. 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. Tato funkce doplňku Power Pivot se podobá funkci VLOOKUP v Excelu, ale mnohem jednodušeji se implementuje.

Můžete vytvořit vzorce, které se vyhledávání jako součást počítaný sloupec nebo jako součást míru pro použití v kontingenční tabulce nebo kontingenčním grafu. Další informace naleznete v následujících tématech:

Počítaná pole v Power Pivotu

Počítané sloupce v PowerPivotu

Tato část popisuje funkce jazyka DAX, které jsou poskytovány pro vyhledávání, a některé příklady použití těchto funkcí.

Poznámka : V závislosti na tom, jaký typ vyhledávací operace nebo vzorce chcete použít, může být nutné nejprve vytvořit mezi příslušnými tabulkami relaci.

Principy vyhledávacích funkcí

Možnost vyhledat 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 požadovaná data (například cena produktu, název a další potřebné podrobné údaje) jsou uložena v související tabulce. Je také užitečná, existuje-li v další tabulce více řádků, které souvisejí s aktuálním řádkem nebo aktuální hodnotou. Můžete například jednoduše načíst všechna data prodeje spojená s konkrétní oblastí, prodejnou nebo prodejcem.

Na rozdíl od vyhledávacích funkcí v aplikaci Excel, které jsou založeny na polích (funkce VLOOKUP), nebo které vracejí první z více odpovídajících hodnot (funkce LOOKUP), jazyk DAX sleduje existující relace mezi tabulkami spojenými klíči a získá jednu související hodnotu, která odpovídá přesně. Jazyk DAX také může načíst tabulku záznamů souvisejících s aktuálním záznamem.

Poznámka : Pokud dobře znáte relační databáze, můžete si vyhledávací funkce v doplňku Power Pivot představit podobně jako vnořené příkazy, které provádí následný výběr v jazyce Transact-SQL.

Načtení jedné související hodnoty

Funkce RELATED vrátí jednu hodnotu z jiné tabulky, která souvisí (je propojená relací) s aktuální hodnotou v aktuální tabulce. Určíte sloupec obsahující požadovaná data a funkce na základě existujících relací mezi tabulkami načte hodnotu ze zadaného sloupce v související tabulce. V některých případě musí funkce při načítání dat sledovat řetěz relací.

Řekněme třeba, že jste obdrželi v Excelu seznam dnešních dodávek. Seznam ale obsahuje jenom ID zaměstnance, ID objednávky a ID dodavatele. Sestava se tak těžko čte. Abyste mohli získat další požadované informace, můžete tento seznam převést do odkazované tabulky Power Pivot a pak vytvořit relace s tabulkami Employee (Zaměstnanec) a Reseller (Prodejce), kde bude pole EmployeeID odpovídat poli EmployeeKey a pole ResellerID poli ResellerKey.

Chcete-li zobrazit vyhledané informace v odkazované tabulce, přidáte dva nově vypočítané sloupce. Použijte tyto vzorce:

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

Dnešní dodávky před vyhledáváním

OrderID

EmployeeID (ID zaměstnance)

ResellerID (ID prodejce)

100314

230

445

100315

15

445

100316

76

108

Tabulka Zaměstnanci

EmployeeID (ID zaměstnance)

Employee (Zaměstnanec)

Reseller (Prodejce)

230

Kuppa Vamsi

Modular Cycle Systems

15

Pilar Ackeman

Modular Cycle Systems

76

Kim Ralls

Associated Bikes

Dnešní dodávky s vyhledávání

OrderID

EmployeeID (ID zaměstnance)

ResellerID (ID prodejce)

Employee (Zaměstnanec)

Reseller (Prodejce)

100314

230

445

Kuppa Vamsi

Modular Cycle Systems

100315

15

445

Pilar Ackeman

Modular Cycle Systems

100316

76

108

Kim Ralls

Associated Bikes

Funkce získává správné názvy jednotlivých řádků sestavy pomocí relací mezi odkazovanou tabulkou a tabulkami Employees (Zaměstnanci) a Resellers (Prodejci). Související hodnoty je také možné využít při výpočtech. Další informace a příklady naleznete v tématu Funkce RELATED.

Načtení seznamu souvisejících hodnot

Funkce RELATEDTABLE se řídí existující relací a vrací tabulku obsahující všechny odpovídající řádky ze zadané tabulky. Předpokládejme například, že chceme vyhledat, kolik objednávek učinili tento rok jednotliví prodejci. Mohli byste vytvořit nový vypočtený sloupec v tabulce Resellers (Prodejci). Obsažený vzorec vyhledá záznamy jednotlivých prodejců v tabulce ResellerSales_USD (Prodej prodejce v dolarech) a vypočítá počet objednávek jednotlivých prodejců. Tyto tabulky jsou součástí ukázkového sešitu jazyka DAX. Další informace o ukázkových datech naleznete v tématu Kurzy Načtení ukázkových dat pro jazyk DAX a Datový model.

=COUNTROWS(RELATEDTABLE(ResellerSales_USD))

Funkce RELATEDTABLE v tomto vzorci nejdřív získá hodnotu ResellerKey pro každého prodejce v aktuální tabulce. (Do vzorce není potřeba zadávat sloupec ID, protože Power Pivot používá stávající relaci mezi tabulkami.) Funkce RELATEDTABLE pak získá všechny řádky z tabulky ResellerSales_USD (Prodej prodejce v dolarech), která souvisí s jednotlivými prodejci a vypočítá řádky. Pokud relace (přímá nebo nepřímá) mezi těmito dvěma tabulkami není, získáte z tabulky ResellerSales_USD (Prodej prodejce v dolarech) všechny řádky.

V naší ukázkové databázi jsou u prodejce Modular Cycle Systems v tabulce prodejů uvedeny čtyři objednávky, takže funkce vrátí číslo 4. Prodejce Associated Bikes neprodal nic, takže funkce vrátí prázdnou hodnotu.

Reseller (Prodejce)

Záznamy v tabulce prodejů pro tohoto prodejce

Modular Cycle Systems

Reseller ID (ID prodejce)

SalesOrderNumber (Číslo prodejní objednávky)

445

SO53494

445

SO71872

445

SO65233

445

SO59000

Reseller ID (ID prodejce)

SalesOrderNumber (Číslo prodejní objednávky)

Associated Bikes

Poznámka : Protože funkce RELATEDTABLE vrací tabulku, a nikoli jednu hodnotu, musí být použita jako argument ve funkci provádějící operace s tabulkami. Další informace naleznete v tématu Funkce RELATEDTABLE.

Začátek stránky

Poznámka : Upozornění ke strojovému překladu: Tento článek přeložil počítačový systém bez zásahu člověka. Společnost Microsoft nabízí tyto strojové překlady proto, aby umožnila uživatelům, kteří nemluví anglicky, získat informace o produktech, službách a technologiích této společnosti. Protože je tento článek strojově přeložený, může obsahovat slovní, syntaktické nebo gramatické chyby.

Rozšiřte své znalosti a dovednosti
Projít školení
Získejte nové funkce jako první
Připojte se k účastníkům programu Office Insiders

Byly tyto informace užitečné?

Děkujeme vám za zpětnou vazbu.

Děkujeme vám za váš názor. Vypadá to, že bude užitečné, když vás spojíme s některým z našich agentů z podpory Office.

×