Jednou z najúčinnejších funkcií v Power Pivot je možnosť 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 z tabuliek načítate pomocou jazyka vzorcov, ktorý je k dispozícii v jazykuPower Pivot, Data Analysis Expressions (DAX). DAX používa relačný model, a preto môž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 Power Pivot je podobná, ale oveľa jednoduchšia na implementáciu.
Môžete vytvoriť vzorce, ktoré vyhľadávajú ako súčasť vypočítaného stĺpca alebo ako súčasť mierky 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
Táto časť popisuje funkcie jazyka DAX, ktoré sú k dispozícii na vyhľadávanie, spolu s niekoľkými príkladmi používania týchto funkcií.
Poznámka: V závislosti od typu operácie vyhľadávania alebo vyhľadávacieho vzorca, ktorý chcete použiť, možno budete musieť najprv vytvoriť vzťah medzi tabuľkami.
Vysvetlenie vyhľadávacích funkcií
Schopnosť vyhľadávať 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 len určitý identifikátor, ale údaje, ktoré potrebujete (napríklad cena produktu, názov alebo iné podrobné hodnoty), sú uložené v súvisiacej tabuľke. Je užitočný aj vtedy, ak existuje viacero riadkov v inej tabuľke, ktoré súvisia 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 excelových vyhľadávacích funkcií, ako je napríklad funkcia VLOOKUP, ktorá je založená na poliach alebo funkcia LOOKUP, ktorá získava prvú z viacerých zodpovedajúcich hodnôt, jazyk DAX sleduje existujúce vzťahy medzi tabuľkami, ktoré sú spojené kľúčmi, aby získal jednu súvisiacu hodnotu, ktorá sa presne zhoduje. Jazyk DAX môže tiež 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, môžete si predstaviť vyhľadávania v Power Pivot ako podobné vnoreným príkazom podvýberu v transact-SQL.
Načítanie jednej súvisiacej hodnoty
Funkcia RELATED vráti jednu hodnotu z inej tabuľky súvisiacej 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 načítať údaje podľa reťazca vzťahov.
Predpokladajme napríklad, že máte zoznam dnešných dodávok v Exceli. Zoznam však obsahuje iba identifikačné číslo zamestnanca, identifikačné číslo objednávky a identifikačné číslo špeditéta odosielateľa, čo sťažuje čítanie zostavy. Ak chcete získať požadované ďalšie informácie, môžete tento zoznam skonvertovať na Power Pivot prepojenú tabuľku a potom vytvoriť vzťahy s tabuľkami Employee (Zamestnanec) a Reseller (Predajca), ktoré zodpovedajú poľu EmployeeKey (KódZamestnancu) a resellerID (IdPredajcu) s poľom ResellerKey (KódPredajcu).
Ak chcete zobraziť vyhľadávacie informácie v prepojenej tabuľke, pridajte dva nové vypočítané stĺpce s nasledujúcimi vzorcami:
= RELATED('Employees'[EmployeeName])
= RELATED('Resellers'[CompanyName])Dnešné zásielky pred vyhľadávaním
OrderID |
Klíč |
ResellerID (ID predajcu) |
---|---|---|
100314 |
230 |
445 |
100315 |
15 |
445 |
100316 |
76 |
108 |
Tabuľka Zamestnanci
Klíč |
Zamestnancov |
Predajcu |
---|---|---|
230 |
Kuppa Vamsi |
Modulárne cykly |
15 |
Pilar Ackeman |
Modulárne cykly |
76 |
Kim Rallsová (Hol.) |
Priradené bicykle |
Dnešné zásielky s vyhľadávaniami
OrderID |
Klíč |
ResellerID (ID predajcu) |
Zamestnancov |
Predajcu |
---|---|---|---|---|
100314 |
230 |
445 |
Kuppa Vamsi |
Modulárne cykly |
100315 |
15 |
445 |
Pilar Ackeman |
Modulárne cykly |
100316 |
76 |
108 |
Kim Rallsová (Hol.) |
Priradené bicykle |
Funkcia používa vzťahy medzi prepojenú tabuľku a tabuľkou Zamestnanci a Predajcovia na získanie správneho názvu pre každý riadok v zostave. Na výpočty môžete použiť aj súvisiace hodnoty. Ďalšie informácie a príklady nájdete v téme FUNKCIA RELATED.
Načítavajú sa zoznam súvisiacich hodnôt
Funkcia RELATEDTABLE sleduje existujúci vzťah a vráti tabuľku obsahujúcu 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. Môžete vytvoriť nový vypočítaný stĺpec v tabuľke Resellers (Predajcovia), ktorý obsahuje nasledujúci vzorec, ktorý vyhľadá záznamy každého predajcu v tabuľke ResellerSales_USD a spočíta počet jednotlivých objednávok jednotlivých predajcov.
=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 zadávať nikde vo vzorci, pretože Power Pivot používa existujúci vzťah medzi tabuľkami.) Funkcia RELATEDTABLE potom načíta 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 alebo nepriamy), zobrazia sa 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 predaja š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.
Predajcu |
Záznamy v tabuľke predaja pre tohto predajcu |
|
---|---|---|
Modulárne cykly |
IDENTIFIKÁCIA predajcu |
Číslo PredajnejObjednávky |
445 |
SO53494 |
|
445 |
SO71872 |
|
445 |
SO65233 |
|
445 |
SO59000 |
|
IDENTIFIKÁCIA predajcu |
Číslo PredajnejObjednávky |
|
Priradené bicykle |
Poznámka: Keďže funkcia RELATEDTABLE vráti tabuľku, nie jednu hodnotu, musí sa použiť ako argument pre funkciu, ktorá vykonáva operácie s tabuľkami. Ďalšie informácie nájdete v téme Funkcia RELATEDTABLE.