Úprava dátového modelu v PowerPivote – 1. časť

Ďalším krokom po vytvorení dátového modelu v PowerPivote a správnom vytvorení vzťahov medzi tabuľkami je jeho úprava. Ide o to, aby sme si zjednodušili a spríjemnili používanie výslednej kontingenčky. Ona je síce funkčná, ale zvyčajne obsahuje príliš dlhú ponuku, v ktorej treba prácne listovať, a takisto zatiaľ nevie nič iné okrem rezania dát jednotlivými stĺpcami. Čo síce môže niektorým užívateľom stačiť, ale to dokáže aj obyčajná kontingenčka. A keďže PowerPivot dokáže omnoho viac, bola by škoda to nevyužiť 🙂

Medzi veci, ktoré je dobré upraviť hneď po vytvorení dátového modelu, patria:

  1. Premenovanie tabuliek (ak ste ich ešte nepremenovali),
  2. Premenovanie stĺpcov v tabuľkách na zmysluplné názvy,
  3. Poskrývanie stĺpcov, ktoré nie sú v ponuke kontingenčky priamo potrebné,
  4. Poskrývanie tabuliek, ktoré nie sú v ponuke kontingenčky priamo potrebné,
  5. Pridanie vypočítaných stĺpcov a polí v jazyku DAX na obohatenie analýz,
  6. Vytvorenie hierarchií,
  7. Vytvorenie kľúčových ukazovateľov výkonu – KPI,
  8. Doladenie pokročilých vlastností a nastavení PowerPivotu.

V tomto článku sa pozrieme na prvé 3 body.

Premenovanie tabuliek a stĺpcov v modeli

Tento krok je síce jednoduchý, ale o to dôležitejšie je vykonať ho už na začiatku. Je to kvôli tomu, že keby ste to nespravili teraz, tak neskôr už budete mať v PowerPivote hromadu vzorcov, kde je použitý daný názov tabuľky. A keď sa rozhodnete premenovať tabuľku s názvom napr. “v_sales_tgt” na “Plán predaja”, tak Vám to rozhodí všetky vzorce, ktoré používali starý názov tabuľky. Dokým totiž nemáte Excel 2016, tak sa Vám automaticky neupravia názvy na nové. A máte postarané o “zábavu” na dlhé zimné večery… Ďalší z dôvodov je ten, že keď zavesíte PowerPivot na server, a použijete ho ako zdroj dát napr. v Exceli alebo v Reporting Services, a neskôr zmeníte hociktorý z názvov, tak všetko čo bolo na to napojené prestane fungovať. Lebo si to bude pamätať staré názvy. Preto si treba rozmyslieť názvy tabuliek a väčšiny stĺpcov už na začiatku, a za pár minút ich premenovať (a ušetriť si tým hodiny práce neskôr).

Tabuľku premenujete v okne PowerPivotu tak isto ako názov hárku v Exceli – kliknete pravým tlačidlom myši na jej záložku naspodu okna, vyberiete položku “Premenovať”, zadáte nový názov tabuľky, a stlačíte Enter:

ppivot_premenovanie_tabulky

Stĺpce v tabuľke potom premenujete podobným spôsobom – kliknete pravým tlačidlom myši na názov stĺpca, vyberiete položku “Premenovať stĺpec”, zadáte nový názov stĺpca, a stlačíte Enter:

ppivot_premenovanie_stlpca

ppivot_premenovanie_stlpca21

A takto to zopakujete pre všetky tabuľky a stĺpce, ktoré chcete, aby ste videli v kontingenčnej tabuľke. Netreba premenovávať všetky – najmä nie tie stĺpce, ktoré slúžia ako prepájacie stĺpce medzi tabuľkami. Tie totiž užívateľ nepotrebuje v ponuke kontingenčnej tabuľky vidieť, a preto ich stačí odtiaľ skryť. Takisto, nie všetky tabuľky v modeli potrebuje používateľ vidieť aj v kontingenčke – ide najmä o rôzne pomocné tabuľky s parametrami alebo inými dátami, ktoré samé o sebe nemajú žiaden analytický význam. Takéto tabuľky tiež v modeli skryjete, a navyše si ušetríte prácu s premenovávaním všetkých stĺpcov 🙂 Skrývaniu sa budeme venovať o pár riadkov nižšie.

Dajte si však pozor na to, že keď ste už mali premenovávaný stĺpec, alebo hocijaký stĺpec z premenovávanej tabuľky, použitý v kontingenčke, tak sa Vám dáta z kontingenčky “stratia”. Ide o to, že Excel funguje voči PowerPivotu len ako prehliadač modelu. A kontingenčku konštruuje tak, že na pozadí vytvorí dotaz s názvami použitých tabuliek a stĺpcov, ten pošle PowerPivotu, ten ho vykoná a pošle výsledok naspäť do Excelu, a Excel ho zobrazí v kontingenčke. Keď však spravíte hocijakú zmenu v PowerPivote (ako napr. premenovanie stĺpca), tak po návrate do okna Excelu, Excel automaticky aktualizuje ponuku kontingenčky a dáta v nej, ale použije na to dotaz, ktorý použil pri poslednom zobrazení kontingenčky. A v ňom sú ešte staré názvy tabuliek a stĺpcov. A zareaguje na to svojsky – neupozorní Vás, že taký stĺpec už neexistuje, a namiesto toho ho vyhodí z kontingenčky preč. Čo vyzerá naoko tak, že sa dáta stratili, ale v skutočnosti všetky dáta v modeli zostali, len v kontingenčke je použitých menej polí ako predtým. Preto treba premenovaný stĺpec pridať do kontingenčky znova, a dáta sa zázračne “objavia” naspäť 🙂

Napríklad: Majme kontingenčku z predchádzajúceho článku, kde na riadkoch máme meny (stĺpec CurrencyName z tabuľky Meny), v stĺpcoch roky (stĺpec CalendarYear z tabuľky Čas), a v hodnotách súčet cien objednávok (stĺpec SalesAmount_USD z tabuľky Objednávky). Kontingenčka vyzerá takto:

ppivot_premenovanie_stlpca_ex_pred

Následne prejdeme do PowerPivotu, a v tabuľke Objednávky premenujeme stĺpec SalesAmount_USD na “Cena objednávky”. Keď sa vrátime naspäť do Excelu, bude kontingenčka vyzerať takto:

ppivot_premenovanie_stlpca_ex_po

Všimnite si, že kontingenčka obsahuje pôvodné záhlavia riadkov a stĺpcov, aj keď je počet riadkov teraz väčší. Je to kvôli tomu, že keď neexistuje v kontingenčke žiadne pole s hodnotou, tak kontingenčka zobrazí všetky kombinácie hodnôt z použitých polí, nie len tie, pre ktoré reálne existujú dáta. Takisto, keď sa pozriete do oblasti Hodnoty v ponuke kontingenčky, tak je prázdna – pretože stĺpec, ktorý sme tam pôvodne dali, sa už teraz volá “Cena objednávky”, a keďže Excel už nevie nájsť stĺpec s pôvodným názvom, tak ho z ponuky vyhodil. Situáciu opravíme tým, že do tejto oblasti znova pridáme – tentokrát už premenovaný – stĺpec “Cena objednávky” z tabuľky Objednávky. Výsledky v kontingenčke sa následne začnú zobrazovať rovnako, ako pred premenovaním stĺpca. Výsledok bude vyzerať takto:

ppivot_premenovanie_stlpca_ex_po2

Poskrývanie stĺpcov z ponuky kontingenčnej tabuľky

Ako sme už spomenuli vyššie, sú prípady, kedy nepotrebujete mať viditeľné tabuľky a stĺpce v ponuke kontingenčky, ale v modeli ich potrebujete používať na svoje výpočty. Príkladom môže byť napr. toto menu kontingenčky:

ppivot_skryvanie_stlpcov1

V tabuľke Meny sú 3 stĺpce, ale len 1 je použiteľný pre analýzy. Je to stĺpec CurrencyName, ktorý obsahuje názov meny. Zvyšné dva stĺpce sú:

  1. Stĺpec CurrencyKey je prepájacím stĺpcom na tabuľku objednávky, a obsahuje číslo meny. Pre užívateľa nemá žiadny analytický význam, ale je potrebný na prepojenie tabuliek. Preto ho potrebujeme z ponuky skryť.
  2. Stĺpec CurrencyAlternateKey obsahuje kód meny, a keďže pre užívateľa je ľahšie analyzovať dáta pomocou stĺpca CurrencyName, tak stĺpec CurrencyAlternateKey je preňho nepotrebný. Tento stĺpec teda z modelu zmažeme.

Takisto si všimnite ponuku stĺpcov v tabuľke Objednávky. Prvé stĺpce v ponuke končia na “-Key”, a sú to všetko prepájacie stĺpce na ostatné tabuľky s príslušnými číselníkmi. Tieto tiež v modeli potrebujeme, ale nie v ponuke kontingenčky – preto ich skryjeme tiež.

Prepnite sa teda do okna PowerPivotu a ideme tieto úpravy spraviť.

V okne PowerPivotu najprv kliknite vľavo dole na záložku, ktorá reprezentuje tabuľku Meny. Vyzerá to takto:

ppivot_skryvanie_stlpcov21

Teraz chceme skryť stĺpec CurrencyKey. Klikneme teda pravým tlačidlom myši na názov tohto stĺpca, a vyberieme z ponuky “Skryť v klientskych nástrojoch”:

ppivot_skryvanie_stlpcov3

Vybraný stĺpec sa zašedí, aby ste vedeli, že odteraz sa už nebude zobrazovať v ponuke kontingenčky. V dátovom modeli ale stále je, takže bez problémov pôjde použiť vo vzorcoch aj vo všetkom ostatnom, čo sa v PowerPivote dá robiť. Len v kontingenčke sa už nebude zobrazovať. Výsledok bude vyzerať takto v PowerPivote:

ppivot_skryvanie_stlpcov4

…a takto v ponuke kontingenčky:

ppivot_skryvanie_stlpcov5

Všimnite si, že v ponuke kontingenčky stĺpec CurrencyKey už nie je. Ak by ste ho tam znova chceli, choďte naspäť do PowerPivotu, kliknite pravým tlačidlom myši na názov toho stĺpca, a vyberte z ponuky “Odkryť z klientskych nástrojov”.

Je tam však ešte stále stĺpec CurrencyAlternateKey, ktorý sme chceli zmazať, pretože je pre užívateľa zbytočný. Preto ideme naspäť do okna PowerPivotu, a zmažeme ho.

Stĺpec zmažeme v PowerPivote rovnakým spôsobom, ako v Exceli – klikneme pravým tlačidlom myši na jeho názov, a vyberieme položku “Odstrániť stĺpce”:

ppivot_mazanie_stlpcov1

Výsledok bude vyzerať takto v PowerPivote:

ppivot_mazanie_stlpcov2

…a po návrate do Excelu bude vyzerať ponuka kontingenčnej tabuľky takto:

ppivot_mazanie_stlpcov3

A toto treba zopakovať postupne pre každú tabuľku. Pretože:

  1. užívateľ by mal v ponuke vidieť len tie polia, ktoré majú nejaký analytický význam, resp. sú pre neho použiteľné,
  2. čím väčšia ponuka polí, tým je výsledok neprehľadnejší, ťažšie použiteľný, a Vy aj užívateľ strávite viac času rolovaním v ponuke, ako samotnou analýzou.

Preto treba poskrývať alebo povymazávať všetky nepoužiteľné stĺpce.

Okrem nepotrebných stĺpcov však treba niekedy poskrývať aj komplet celé tabuľky. O tom si povieme v nasledujúcom článku.