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 poskytnutého spolu s jazykomPower Pivot, DAX (Data Analysis Expressions). 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 vo funkciách s funkciou VLOOKUP Excel, táto funkcia Power Pivot podobná, ale omnoho jednoduchšie sa implementuje.
Môžete vytvoriť vzorce, ktoré vyhľadávajú ako súčasť vypočítaného stĺpca alebo ako súčasť miery používanej v kontingenčnej tabuľke alebo kontingenčný graf. Ď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 DAX poskytované na vyhľadávanie, ako aj niekoľko príkladov použitia funkcií.
Poznámka: V závislosti od typu operácie vyhľadávania alebo vyhľadávacieho vzorca, ktorý chcete použiť, bude možno potrebné najskôr vytvoriť vzťah medzi tabuľkami.
Princíp vyhľadávacích funkcií
Možnosť vyhľadávania zodpovedajúcich alebo súvisiacich údajov z inej tabuľky je užitočná najmä v prípadoch, keď má aktuálna tabuľka len identifikátor určitého druhu, ale potrebné údaje (napríklad cena produktu, názov alebo iné podrobné hodnoty) sú uložené v súvisiacej tabuľke. Je tiež užitočná v prípade, že v inej tabuľke existuje viacero riadkov súvisiacich s aktuálnym riadkom alebo aktuálnou hodnotou. Môžete napríklad jednoducho obnoviť všetok predaj viazaný na konkrétnu oblasť, obchod alebo predajcu.
Na rozdiel od vyhľadávacích funkcií ako je napríklad funkcia VLOOKUP, ktoré sú založené na poliach, alebo na funkciu LOOKUP, ktorá získava prvú z viacerých zodpovedajúcich hodnôt, funkcia DAX sleduje existujúce vzťahy medzi tabuľkami, ktoré sú spojené klávesmi, Excel získa jednu súvisiacu hodnotu, ktorá sa presne zhoduje. DaX dokáže tiež načítať tabuľku záznamov, ktoré súvisia s aktuálnym záznamom.
Poznámka: Ak máte znalosť relačnej databázy, môžete si na to myslieť na vyhľadávania v Power Pivot podobne ako príkaz vnorených výberov v príkaze transact-SQL.
Načítava sa jedna súvisiaca hodnota
Funkcia RELATED vráti jednu hodnotu z inej tabuľky, ktorá súvisí s aktuálnou hodnotou v aktuálnej tabuľke. Určíte stĺpec obsahujúci údaje, ktoré chcete, a funkcia na základe existujúcich vzťahov medzi tabuľkami 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 zásielok v Excel. Zoznam však obsahuje len identifikačné číslo zamestnanca, identifikačné číslo objednávky a identifikačné číslo špedičera, vďaka čo z správy bude ťažko čitateľná. Ak chcete získať požadované informácie navyše, môžete tento zoznam skonvertovať na prepojenú tabuľku programu Power Pivot a potom vytvoriť vzťahy s tabuľkami Zamestnanec a Predajca, ktoré zodpovedajú tabuľke EmployeeID (ID Zamestnanca) k poľu EmployeeKey (Kód Zamestnanca) a pole ResellerID (ID Predajcu) na pole ResellerKey (Kľúč predajcu).
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é dodávky pred vyhľadávaním
OrderID |
EmployeeID |
ID predajcu |
---|---|---|
100314 |
230 |
445 |
100315 |
15 |
445 |
100316 |
76 |
108 |
Tabuľka Zamestnanci
EmployeeID |
Zamestnanec |
Predajca |
---|---|---|
230 |
Kuppa Vamsi |
Systémy s modulárnym cyklom |
15 |
Pilar Amanman |
Systémy s modulárnym cyklom |
76 |
Kim Ralls |
Súvisiace bicykle |
Dnešné dodávky s vyhľadávaniami
OrderID |
EmployeeID |
ID predajcu |
Zamestnanec |
Predajca |
---|---|---|---|---|
100314 |
230 |
445 |
Kuppa Vamsi |
Systémy s modulárnym cyklom |
100315 |
15 |
445 |
Pilar Amanman |
Systémy s modulárnym cyklom |
100316 |
76 |
108 |
Kim Ralls |
Súvisiace bicykle |
Funkcia použije vzťahy medzi prepojenou tabuľkou a tabuľkou Zamestnanci a Predajcovia na získanie správneho názvu každého riadka zostavy. Na výpočty môžete použiť aj súvisiace hodnoty. Ďalšie informácie a príklady nájdete v téme RELATED (funkcia).
Načítava sa zoznam súvisiacich hodnôt
Funkcia RELATEDTABLE nasleduje za existujúcim vzťahom 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 má každý predajca tento rok. Môžete vytvoriť nový vypočítavaný stĺpec v tabuľke Predajcovia, 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 od jednotlivých predajcov.
=COUNTROWS(RELATEDTABLE(ResellerSales_USD))
Funkcia RELATEDTABLE v tomto vzorci najprv získa hodnotu ResellerKey pre každého predajcu v aktuálnej tabuľke. (Stĺpec ID nemusíte zadať kdekoľvek vo vzorci, pretože Power Pivot používa 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 neexistuje žiadny vzťah (priame alebo nepriame) medzi týmito dvoma tabuľkami, potom získate všetky riadky z ResellerSales_USD tabuľky.
Pre predajcu Modulárny cyklus systémov v našej vzorovej databáze sú v tabuľke predaja štyri objednávky, takže funkcia vráti hodnotu 4. Pre priradené bicykle predajca nemá žiadny predaj, takže funkcia vráti prázdnu hodnotu.
Predajca |
Záznamy v tabuľke predaja pre tohto predajcu |
|
---|---|---|
Systémy s modulárnym cyklom |
ID predajcu |
SalesOrderNumber |
445 |
SO53494 |
|
445 |
SO71872 |
|
445 |
SO65233 |
|
445 |
SO59000 |
|
ID predajcu |
SalesOrderNumber |
|
Súvisiace 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 v tabuľkách. Ďalšie informácie nájdete v téme RELATEDTABLE (funkcia).