SSAS Tabular Model – Serverový PowerPivot

Jednou z najčastejších otázok, ktorú sa ma účastníci pýtajú na kurzoch PowerPivotu, je: “Ako môžem zdieľať dáta v PowerPivote s užívateľmi, ktorí PowerPivot nemajú?”. Pretože, keď si spravia vlastný model v PowerPivote a chcú ho zdieľať s väčším množstvom užívateľov, tak narazia na problémy s verziami a licenciami k Excelu… Možností, ako z toho von, je viacero. Najlepšie riešenie vo väčšej spoločnosti je dať PowerPivot na server – oficiálne nazývaný SSAS Tabular Model.

Serverová verzia PowerPivotu bola prvýkrát uvedená v roku 2012, v rámci SQL Serveru 2012. Nachádza sa v rámci služby Analysis Services, ktorá slúži na spracovanie veľkého množstva údajov v reálnom čase. A vo verzii 2012 do nej pridali aj serverový PowerPivot, respektíve, korektne povedané, SQL Server Analysis Services Tabular Model (skrátene SSAS Tabular Model). Na tento server môžete zavesiť Váš dátový model PowerPivotu, a po nastavení prístupových práv bude zrazu dostupný všetkým užívateľom, ktorí ho potrebujú.

Výhodou je to, že na prístup k nemu Vám postačí ľubovoľný Excel od verzie 2003 vrátane. Áno, čítate správne – 2003, nie 2013 🙂 Je to vďaka tomu, že Excel sa vie pripájať na tzv. OLAP kocky, a všetky tieto verzie Excelu to dokážu bez ďalšieho dodatočného softvéru. Po pripojení sa na server, sa pracuje s PowerPivotom cez kontingenčnú tabuľku alebo graf rovnako, ako keby ste mali PowerPivot priamo v Exceli. Rozdiel je ale v tom, že výpočty robí vzdialený server, a Excel – podobne ako pri lokálnom PowerPivote – už iba zobrazuje výsledky. Zároveň od tohto momentu už nemusíte riešiť (ne-)kompatibilitu rôznych verzií Excelu a rôznych verzií PowerPivotu v ňom. Čo Vám ušetrí množstvo bezsenných nocí 🙂

Ako však vravia v teleshoppingu, “to však ešte nie je všetko” 🙂 Ďalšie výhody serveru SSAS Tabular Model oproti lokálnemu PowerPivotu sú:

  1. užívatelia nepotrebujú veľké množstvo RAMky – dáta sa pri PowerPivote štandardne musia zmestiť do pamäte, ale na serveri nemusia. Navyše, na serveri býva typicky oveľa viac pamäte – bežne desiatky až stovky GB. Takže do dátového modelu natlačíte extrémne veľké množstvo dát,
  2. na serveri bývajú oveľa rýchlejšie procesory ako na bežnom kancelárskom PC, takže výpočty sú o niečo rýchlejšie,
  3. dá sa nastaviť zabezpečenie pre rôzne skupiny užívateľov, až na úroveň riadkov (a jedi mastri to vedia aj na úrovni stĺpcov). Vďaka tomu každý užívateľ bude vidieť len tie dáta, na ktoré má oprávnenie,
  4. na serveri sa nemusia všetky dáta zmestiť do pamäte. Táto možnosť je štandardne zapnutá, prípadne dostupná po troche konfigurácie, cez režim DirectQuery alebo zapnutie swapovania dát na disk. Analýzy sa tým o niečo spomalia, ale nezastaví Vám to prevádzku, keď dáta v modeli nečakane narastú,
  5. limity serverového modelu sú rovnaké ako limity PowerPivotu, s jedným rozdielom – na serveri nie je obmedzený počet riadkov v tabuľkách dátového modelu. Platí tam však stále limit, že žiaden stĺpec v žiadnej z tabuliek nesmie obsahovať viac ako 1 999 999 997 (cca. 2 miliardy) unikátnych hodnôt. Čo sa vo väčšine prípadov dá prežiť 🙂
  6. na serveri sa dá nastaviť automatická aktualizácia dát z podkladových databáz. Takže narozdiel od lokálneho PowerPivotu netreba používať aplikácie tretích strán,
  7. pri využití partícií je možnosť aktualizovať len časť dát. Zjednodušene povedané – ak to správne nastavíte, tak viete aktualizovať len zmenené dáta, a nie celé tabuľky, ako to je v PowerPivote,
  8. vo verzii 2016 sa dajú nastaviť preklady všetkých názvov do viacerých jazykov, vrátane češtiny aj slovenčiny. Výhodou je potom to, že nemusíte vyvíjať viacero kópií modelu pre každý jazyk osobitne, ale bude to všetko pekne pokope v jednom dátovom modeli. Navyše, Excel si sám vie automaticky otvoriť tú správnu jazykovú verziu. Prípadne, napr. v anglickom Exceli, nie je problém vnútiť mu slovenskú verziu pomocou úpravy connection stringu 🙂
  9. pomocou tzv. perspektív viete vytvoriť obmedzené verzie dátového modelu pre rôzne skupiny užívateľov, ktorí nechcú vidieť všetkých 200 políčok z dátového modelu, resp. sa strácajú v takej veľkej ponuke. Výhodou je, že sa to pre nich tvári ako viacero verzií tabulárnych modelov, medzi ktorými sa hocikedy môžu prepínať, ale vy vyvíjate stále ten istý jeden model. A oni ho budú vedieť veľmi ľahko použiť.
  10. na serverový model sa dá pripojiť jazykmi DAX, MDX aj SQL. Jazyky DAX a MDX sú plne podporované, a jazyk SQL len základne. Vďaka tomu viete dáta z modelu zobraziť vo všetkých (nielen) reportingových nástrojoch, ktoré sa vedia pripojiť k OLAP kockám, ako napríklad:
    1. SQL Server Reporting Services
    2. SharePoint Server
    3. PerformancePoint Server a ProClarity Server
    4. Oracle BI Server
    5. IBM Cognos
    6. SAP
    7. Tableau
    8. Power BI
    9. a mnohé ďalšie
  11. Od verzie 2017 má v sebe integrovanú plnú podporu Power Query.

Tabulárny server má však aj 2 nevýhody:

  1. nepodporuje linkované tabuľky z Excelu – tie musíte nahradiť obyčajnými tabuľkami,
  2. nachádza sa iba v SQL Serveri 2012/2014/2016/2017/2019, v edíciách Enterprise alebo Business Intelligence. Od verzie 2016 sa nachádza aj v edícii Standard, avšak obmedzený na 16 GB RAM. Alebo, ak Vám nevadí cloud, tak existuje aj cloudová verzia, nazývaná Azure Analysis Services. Tá je funkčne vždy popredu voči SSAS Tabularu, pretože v cloude zabezpečuje funkcionalitu dátového modelu pre Power BI.

Napriek týmto nevýhodám však ide o neskutočne užitočnú vec, ktorá Vám uľahčí distribúciu powerpivotového modelu v celej firme, a oslobodí Vás od celkom obmedzených reportingových schopností Excelu. Ten síce nie je zlý, ale na profesionálny reporting máme oveľa lepšie nástroje 😉 Zároveň Vám to vyrieši kopec problémov, ktoré vznikajú pri nasadení a distribúcii PowerPivotu vo väčšej firme. Pretože, analytika v PowerPivote je super, ale je lepšia, ak sa o ňu viete podeliť aj s kolegami 🙂

A ako je to vo Vašej firme? Používate SSAS Tabular Model? S akými problémami sa pri ňom najčastejšie stretávate? Podeľte sa s Vašimi skúsenosťami do komentárov pod týmto článkom 😉

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená.