Vyhľadávania vo vzorcoch doplnku Power Pivot

Jednou z najúčinnejších funkcií doplnku Power Pivot je schopnosť vytvoriť vzťahy medzi tabuľkami a potom použiť súvisiace tabuľky na vyhľadávanie alebo filtrovanie súvisiacich údajov. Súvisiace hodnoty sa načítavajú z tabuliek pomocou jazyka vzorcov, ktorý je súčasťou doplnku Power Pivot, Data Analysis Expressions (DAX). Jazyk DAX používa relačný model, a preto dokáže jednoducho a presne načítať súvisiace alebo zodpovedajúce hodnoty v inej tabuľke alebo stĺpci. Ak máte skúsenosti s funkciou VLOOKUP v Exceli, táto funkcia v doplnku Power Pivot je podobná, ale oveľa jednoduchšia na implementáciu.

Môžete vytvoriť vzorce, ktoré vyhľadávania vykonávajú ako súčasť vypočítaného stĺpca alebo ako súčasť ukazovateľa na použitie v kontingenčnej tabuľke alebo kontingenčnom grafe. Ďalšie informácie nájdete v nasledujúcich témach:

Vypočítavané polia v doplnku Power Pivot

Vypočítavané stĺpce v doplnku Power Pivot

V tejto časti sa popisujú funkcie jazyka DAX poskytované na vyhľadávanie a uvádzame niekoľko príkladov ich používania.

Poznámka

V závislosti od typu operácie vyhľadávania alebo vzorca vyhľadávania, ktorý chcete použiť, budete pravdepodobne musieť najprv vytvoriť vzťah medzi tabuľkami.

Vysvetlenie vyhľadávacích funkcií

Možnosť vyhľadať zodpovedajúce alebo súvisiace údaje z inej tabuľky je užitočná najmä v situáciách, keď aktuálna tabuľka obsahuje iba určitý identifikátor, ale potrebné údaje (napríklad cena produktu, názov produktu alebo iné podrobné hodnoty) sú uložené v súvisiacej tabuľke. Je užitočná aj vtedy, keď sa v inej tabuľke nachádza viacero riadkov súvisiacich s aktuálnym riadkom alebo aktuálnou hodnotou. Môžete napríklad jednoducho načítať všetok predaj viazaný na konkrétnu oblasť, obchod alebo predajcu.

Na rozdiel od vyhľadávacích funkcií Excelu, ako je napríklad funkcia VLOOKUP, ktoré sú založené na poliach, alebo funkcia LOOKUP, ktorá získa prvú z viacerých zodpovedajúcich hodnôt, jazyk DAX sleduje existujúce vzťahy medzi tabuľkami spojenými kľúčmi a získa jednu súvisiacu hodnotu, ktorá sa presne zhoduje. Jazyk DAX tiež dokáže načítať tabuľku záznamov, ktoré súvisia s aktuálnym záznamom.

Poznámka

Ak máte skúsenosti s relačnými databázami, vyhľadávania v doplnku Power Pivot si môžete predstaviť ako vnorený príkaz výberu v rámci jazyka Transact-SQL.

Funkcia RELATED vráti jednu hodnotu z inej tabuľky súvisiacu s aktuálnou hodnotou v aktuálnej tabuľke. Určíte stĺpec obsahujúci požadované údaje a funkcia sleduje existujúce vzťahy medzi tabuľkami a načíta hodnotu zo zadaného stĺpca v súvisiacej tabuľke. V niektorých prípadoch musí funkcia sledovať reťazec vzťahov, aby mohla načítať údaje.

Predpokladajme napríklad, že v Exceli máte zoznam dnešných dodávok. Zoznam však obsahuje iba identifikačné číslo zamestnanca, identifikačné číslo objednávky a identifikačné číslo špeditéra, takže zostava je ťažko čitateľná. Ak chcete získať ďalšie informácie, môžete tento zoznam skonvertovať na prepojenú tabuľku doplnku Power Pivot a potom vytvoriť vzťahy s tabuľkami Zamestnanci a Predajca, pričom priradíte stĺpec ID zamestnanca k poľu KľúčZamestnanca a identifikátor predajcu k poľu Kľúč predajcu.

Ak chcete zobraziť informácie vyhľadávania v prepojenej tabuľke, pridajte dva nové vypočítané stĺpce pomocou týchto vzorcov:

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

Dnešné dodávky pred vyhľadávaním

OrderID Identifikácia zamestnanca ID predajcu
100314 230 445
100315 15 445
100316 76 108

Tabuľka Zamestnanci

Identifikácia zamestnanca Zamestnanec Predajca
230 Kuppa Vamsi Systémy modulárnych cyklov
15 Pilar Ackemanová Systémy modulárnych cyklov
76 Kim Rallsová Priradené bicykle

Dnešné dodávky s vyhľadávaním

OrderID Identifikácia zamestnanca ID predajcu Zamestnanec Predajca
100314 230 445 Kuppa Vamsi Systémy modulárnych cyklov
100315 15 445 Pilar Ackemanová Systémy modulárnych cyklov
100316 76 108 Kim Rallsová Priradené bicykle

Funkcia používa vzťahy medzi prepojenou tabuľkou a tabuľkou Zamestnanci a predajcovia na získanie správneho názvu pre každý riadok v zostave. Na výpočty možno použiť aj súvisiace hodnoty. Ďalšie informácie a príklady nájdete v téme Funkcia RELATED (SÚVISIACE).

Funkcia RELATEDTABLE funguje podľa existujúceho vzťahu a vráti tabuľku, ktorá obsahuje všetky zodpovedajúce riadky zo zadanej tabuľky. Predpokladajme napríklad, že chcete zistiť, koľko objednávok každý predajca zadal v tomto roku. V tabuľke Predajcovia môžete vytvoriť nový vypočítavaný stĺpec, ktorý obsahuje nasledujúci vzorec, ktorý vyhľadá záznamy pre každého predajcu v tabuľke ResellerSales_USD a spočíta počet jednotlivých objednávok zadaných jednotlivými predajcami. 

=COUNTROWS(RELATEDTABLE(ResellerSales_USD))

V tomto vzorci funkcia RELATEDTABLE najprv získa hodnotu ResellerKey pre každého predajcu v aktuálnej tabuľke. (Stĺpec ID nemusíte zadať na žiadne miesto vo vzorci, pretože Power Pivot použije existujúci vzťah medzi tabuľkami.) Funkcia RELATEDTABLE potom získa všetky riadky z tabuľky ResellerSales_USD, ktoré súvisia s každým predajcom, a spočíta riadky. Ak medzi týmito dvoma tabuľkami neexistuje žiadny vzťah (priamy ani nepriamy), získate všetky riadky z ResellerSales_USD tabuľky.

Pre systémy modulárneho cyklu predajcu v našej vzorovej databáze sú v tabuľke Predaj štyri objednávky, takže funkcia vráti hodnotu 4. V prípade priradených bicyklov nemá predajca žiadny predaj, takže funkcia vráti prázdnu hodnotu.

Predajca Záznamy v tabuľke predaja pre tohto predajcu
Systémy modulárnych cyklov ID predajcu
445
445
445
445
ID predajcu
Priradené bicykle

Poznámka

Keďže funkcia RELATEDTABLE vracia tabuľku a nie jednu hodnotu, musí sa použiť ako argument funkcie, ktorá vykonáva operácie s tabuľkami. Ďalšie informácie nájdete v téme Funkcia RELATEDTABLE.

Na začiatok stránky