Naša analýza z predchádzajúceho článku má ešte drobný problém. Keď v kontingenčke rozkliknete ľubovoľný rok, a pozriete sa na poradie mesiacov, tak uvidíte, že sú usporiadané abecedne podľa ich názvu, a nie podľa ich skutočného poradia v roku:
Takisto, keď si dáte do oblasti riadkov v kontingenčke iba stĺpec MonthName z tabuľky Čas, výsledok bude rovnaký – mesiace budú nasledovať za sebou podľa abecedy, a nie podľa toho ako majú ísť.
Je to kvôli tomu, že kontingenčná tabuľka zoraďuje dáta v riadkoch aj stĺpcoch abecedne, ak ste použili textový stĺpec, resp. od najmenšej po najväčšiu hodnotu, ak ste použili číselný alebo dátumový stĺpec na rezanie údajov.
Možnosti, ako to napraviť, sú v podstate tieto dve:
- zadefinovať si vlastný zoznam hodnôt v Exceli, a dať triediť kontingenčku podľa neho,
- nastaviť v PowerPivote, aby sa Váš stĺpec triedil podľa iného stĺpca, ideálne číselného stĺpca.
Kým prvá alternatíva je prácna na nasadenie a udržiavanie, je to jediná možnosť ako to spraviť v prvej verzii PowerPivotu, ktorý bol uvedený ešte v roku 2010. Od druhej verzie však pribudla možnosť č. 2 vyššie, ktorá je oveľa jednoduchšia na nastavenie aj neskoršiu údržbu. A keďže aj 2. verzia PowerPivotu je dostupná pre Excel 2010 a vyššie, a mali by ste používať už len ju (alebo novšiu), budeme sa zaoberať iba touto 2. možnosťou.
Poznámka: V Power BI nastavíte túto funkcionalitu podľa postupu v tomto článku.
Ak teda chcete nastaviť, aby sa daný stĺpec triedil podľa príslušných hodnôt v inom stĺpci, prejdite do okna PowerPivotu. Tam prejdite do dátového zobrazenia (ak v ňom ešte nie ste), a prejdite na záložku s tabuľkou Čas:
Potom si nájdite stĺpec, pre ktorý chcete zmeniť triedenie – v našom prípade stĺpec MonthName – a kliknite naňho. Stačí kliknúť hocikde do daného stĺpca. Potom nájdite v hornej lište PowerPivotu ikonu Zoradiť podľa stĺpca, a kliknite na ňu:
Zobrazí sa okno pre nastavenie triedenia. V ňom, na pravej strane, môžete vybrať hociktorý stĺpec z tejto tabuľky, podľa príslušných hodnôt ktorého môžete triediť aktuálny stĺpec. V rozpadávacom boxe napravo teda vyberte stĺpec MonthNumberOfYear, ktorý obsahuje číslo mesiaca v roku, a podľa ktorého sa bude určovať poradie mesiacov pre stĺpec MonthName, kedykoľvek sa použije v kontingenčke:
Potom kliknite na tlačítko OK, a vráťte sa naspäť do Excelu. Excel automaticky aplikuje Vaše posledné zmeny, a zmení poradie mesiacov v kontingenčke tak, ako ste to práve nastavili. Mesiace potom budú v kontingenčke už nasledovať správne:
A takto to viete nastaviť aj pre všetky ostatné stĺpce, pri ktorých by ste chceli zmeniť ich zobrazované poradie v kontingenčke.
Nemusí Vám to však ísť pre ľubovoľnú kombináciu stĺpcov v dátovom modeli. Sú tam totiž 2 podmienky, ktoré musia byť splnené:
- Triedený aj triediaci stĺpec musia byť z rovnakej tabuľky – ak nie sú, musíte jeden z nich dotiahnuť do tabuľky napr. pomocou funkcie RELATED,
- Medzi hodnotami triedeného aj triediaceho stĺpca musí byť vzťah 1:1, čo znamená, že ku každej unikátnej hodnote v triedenom stĺpci musí vždy prislúchať tá istá hodnota v triediacom stĺpci.
Druhá podmienka znamená to, že ak máte v triedenom stĺpci MonthName napríklad hodnotu „January“, tak v stĺpci MonthNumberOfYear, na každom riadku, musí tejto hodnote prislúchať vždy len hodnota „1“. Ak by to tak nebolo, tak by PowerPivot nevedel, ako jednoznačne zotriediť hodnoty v danom stĺpci. Napríklad ak by sme chceli zotriediť stĺpec MonthName podľa stĺpca CalendarYear, tak nám to nepôjde, pretože napr. k hodnote „January“ v stĺpci MonthName prislúchajú až 4 hodnoty v stĺpci CalendarYear – a to „2001″, „2002“, „2003“ a „2004“. Preto PowerPivot odmietne takéto nastavenie, a zobrazí Vám nasledovnú chybu:
Dá sa to však obísť vypočítaným stĺpcom, a podľa neho dáte potom zotriediť pôvodný stĺpec. Do tohto vypočítaného stĺpca potrebujete napísať vzorec, ktorý bude vracať správne poradie prvkov, a zároveň bude spĺňať podmienku č. 2 vyššie. Ak to splníte, PowerPivot Vám dovolí triediť Váš stĺpec podľa takéhoto vypočítaného stĺpca.
A tvorbe vypočítaných stĺpcov sa budeme venovať v ďalšom článku 🙂
Autor, tréner a expert na PowerPivot, Power BI a jazyk DAX. Založil som tento web, aby som pomohol dostať PowerPivot a Power BI do širšieho povedomia, a aby som ľuďom ukázal, že aj komplexné analytické problémy idú riešiť jednoducho. Po nociach vzývam Majstra Yodu a tajne plánujem ovládnutie vesmíru.