Kedy použiť vypočítané stĺpce vs. merítka

PowerPivot aj Power BI umožňujú tvorbu vypočítaných stĺpcov aj merítok v jazyku DAX, a pomocou nich sa robí väčšina analytiky v dátovom modeli. Niekedy však nie je úplne jasné, ktoré z nich je vhodné na ktorý účel, najmä keď s tým ešte len začínate. Preto si teraz ukážeme, kedy je vhodnejšie použiť vypočítané stĺpce vs. merítka.

Predtým než prejdeme na detaily, tak ešte jedno upozornenie – berte tento článok len ako nasmerovanie, a nie ako jedinú správnu cestu, ako robiť veci. Problém je v tom, že v PowerPivote idú robiť veci viacerými spôsobmi, a niekedy je lepšie spraviť iba vypočítaný stĺpec, niekedy iba merítko, a niekedy je potrebné skombinovať oba prístupy dokopy. Preto, ak máte viac možností, tak radšej najprv skúste hocijakú možnosť, ktorá Vás dostane k cieľu, a až keď to bude pomalé alebo neefektívne, tak začnite rozmýšľať o tom, či by to nešlo spraviť lepšie. Život je totiž príliš krátky na dokonalé riešenia 🙂

Poďme sa teda pozrieť na vypočítané stĺpce vs. merítka, a na ich výhody a nevýhody.

Vypočítané stĺpce

  • počítajú sa dopredu, počas ich vytvárania alebo počas aktualizácie dát
  • zaberajú miesto v pamäti aj na disku
  • predlžujú dobu otvárania dátového modelu (čiže otváranie editoru PowerPivotu v Exceli, resp. otváranie súboru v Power BI) – neplatí pre tabulárne modely SSAS (tam predlžujú dobu spracovania tabuliek po aktualizácii dát)
  • dajú sa použiť vo vzorcoch merítok
  • používajú sa:
    • na výpočty na úrovni riadkov tabuliek dátového modelu
    • na predpočítanie dát na detailnej úrovni
    • ak potrebujete dynamicky vytvoriť riadky alebo stĺpce v obyčajnej alebo kontingenčnej tabuľke
    • ak potrebujete vytvoriť položky do filtrov alebo slicerov (rýchlych filtrov)
    • ak potrebujete opraviť chyby v dátach
    • na optimalizáciu výkonu na veľkých dátach

Merítka

  • nepočítajú sa dopredu
  • nezaberajú takmer žiadne miesto v pamäti ani na disku (iba cca. desiatky až tisícky bajtov)
  • počítajú sa v momente použitia v kontingenčnej tabuľke alebo v reporte
  • nedajú sa použiť vo vzorci pre vypočítané stĺpce (aj keď, v Power BI a SSAS je toto už čiastočne odstránené)
  • používajú sa:
    • na výpočty na sumárnej úrovni
    • na výpočty, ktoré nie je možné spraviť na detailnej úrovni tabuliek (napr. celková marža)
    • na pokročilú analytiku
    • na optimalizáciu pamäte dátového modelu
    • na parametrizáciu dátového modelu a jeho výpočtov
    • v kombinácii s vypočítanými stĺpcami na zrýchlenie komplikovaných výpočtov

Toľko v skratke k tomu, kedy je vhodnejšie použiť vypočítané stĺpce vs. merítka. Každé má svoje použitie, a určite nájdete časom viacero spôsobov, ako sa dajú využiť. Nerobte si však zbytočne starosti, či je Vaše riešenie ideálne. Ak to počíta správne výsledky, a je to dostatočne rýchle, tak to máte správne 🙂