Power BI alebo SQL Server Reporting Services? Ako si vybrať?

Microsoft má dva zaujímavé nástroje, ktoré sa dajú využiť na reporting. A ktorých funkcionalita sa na prvý pohľad dosť prekrýva. Je to samozrejme Power BI, a staré dobré Reporting Services. Oba nástroje využijete na tvorbu bežných reportov. V čom sú však iné? A kedy použiť Power BI, a kedy Reporting Services?

V prvom rade si je potrebné vyjasniť, na čo sú oba produkty určené, a aká je ich filozofia. Od toho sa potom odrazíme ďalej.

Power BI je kompletná analyticko-reportingová platforma, kde máte pokryté všetko od prvotného pozberania dát, cez ETL (prípravu dát), analytiku nad veľkými dátami, až po reporting a distribúciu obsahu. Je dizajnované primárne ako cloudová služba, a tomu sú prispôsobené funkcie produktu. Viete síce fungovať aj bez cloudu, ale možnosti sú potom obmedzenejšie. Každý mesiac, a niekedy aj každý týždeň, pribúda kopa novej funkcionality.

Naproti tomu sú SQL Server Reporting Services iba klasickým reportovacím systémom. Dáta pre ne musíte zvyčajne pripraviť v dátovom sklade, veľké dáta predspracovať cez SSAS Tabular alebo OLAP, a report viete iba vypublikovať na server. Boli navrhnuté ešte niekedy pred 20 rokmi, a posledných 12 rokov sa až na pár drobností nemenia. Boli stavané ako klasický vnútropodnikový systém, a tak fungujú aj doteraz.

Čo je dobré na Power BI

Power BI je moderný, a v poslednej dobe už aj vyzretý nástroj, na tvorbu ľubovoľných analýz a reportov nad neobmedzeným množstvom dát. Vie sa pripojiť k viac ako 150 dátovým zdrojom, ľubovoľne skombinovať dáta z nich, zanalyzovať ich, a vytvoriť z nich nádherné, moderné, responzívne reporty. V porovnaní s Reporting Services to všetko viete spraviť v jednom nástroji (pre SSRS potrebujete zvyčajne všetky služby SQL Servera), a čo je najpodstatnejšie – všetko to ide spraviť priam svetelnou rýchlosťou v porovnaní so SSRS. Ak napríklad staviate report od začiatku v SSRS a máte už pripravené dáta, tak vám to zaberie pár minút, ak nie viac. V Power BI rovnaký report vytvoríte za pár sekúnd.

Druhá vec je responzívnosť reportov. V dnešnej dobe, keď si užívatelia potrebujú pozerať reporty na všetkom od počítačov, cez tablety, smartfóny, chladničku a práčku, je nevyhnutné zabezpečiť, aby ten report fungoval správne všade kde ho užívateľ chce mať. Všetky reporty v Power BI sú automaticky responzívne, a pre mobily je možnosť vytvoriť samostatné mobilné rozloženie reportu nad už existujúcim reportom. V Reporting Services takúto možnosť jednoducho nemáte, a musíte vytvoriť minimálne 2 reporty. Ale aj tam zabudnite na responzívnosť. Záchranou v tomto prípade vyzerajú byť mobilné reporty Datazen, zabudované v SSRS od verzie 2016, ale to je len taký slepý výstrel do tmy v porovnaní s možnosťami Power BI.

Tretia vec sú veľké dáta. Reporting Services vôbec nie sú stavané ani na stredne veľké dáta, a o veľkých dátach môžu iba snívať, alebo si musia vypomôcť SSAS Tabularom či OLAP-om. Keď do nich totižto nalejete povedzme 1 milión riadkov, tak čakáte na zobrazenie reportu aj minútu. Ak nebodaj potrebujete v reporte spraviť ešte nejaký výpočet, tak čakáte niekoľkonásobne viac. Väčšinou na timeout. Áno, dá sa to obísť cez písanie SQL dotazov, ale to už potom môžete rovno robiť aj v Exceli. A o nízkej produktivite v práci radšej pomlčím. Naproti tomu môžete do Power BI naliať kľudne aj miliardy riadkov, a stále je to svižné. Prípadne, ak by ste potrebovali pracovať nad biliardami riadkov a petabajtami dát, tak tam tie dáta vôbec nemusíte tlačiť – cez DirectQuery si to totižto samé poskladá príslušný SQL dotaz v reálnom čase, a dotiahne si z databázy iba výsledky.

Posledný veľký rozdiel je možnosť kombinovať dáta z rôznych zdrojov. Reporting Services poznajú iba okolo 10 dátových zdrojov, a čo nenapojíte cez ODBC alebo OLE DB, to musíte naprogramovať ako nový ovládač pre SSRS. Alebo máte smolu. Naproti tomu má Power BI k dispozícii cez 150 dátových zdrojov, a každý mesiac ten zoznam Microsoft rozširuje. Čo je však podstatné – tie zdroje viete ľubovoľne kombinovať. Ak ste niekedy skúšali v SSRS spraviť report s tabuľkou z 2 dátových zdrojov, tak viete, že ste museli používať funkcie Lookup***, a ich výkon bol mizerný. A aj tak potom neboli k dispozícii všetky reportovacie funkcie. Naproti tomu skúste v Power BI zobrať dáta súčasne povedzme z SQL Servera, SalesForce a Google Analytics. Za pár sekúnd až minút si ich spojíte do jedného dátového modelu, a za ďalších pár sekúnd z toho nasekáte do reportu ľubovoľné grafy a tabuľky. Bez obmedzení. V Reporting Services to bude programátorský projekt na zopár dní až týždňov.

A v neposlednom rade mi nedá nespomenúť vizualizačné možnosti. Power BI má momentálne k dispozícii okolo 200 vizualizácií, ktoré sú úplne alebo čiastočne zadarmo. Nájdete tam všeličo od 3D grafov, cez interaktívne mapy, heatmapy, KPI, sieťové diagramy, Visio diagramy, až po všelijaké úlety. Reporting Services podporuje iba okolo 10-15 typov na dnešnú dobu relatívne základných grafov. Ak chcete v SSRS ďalšie, tak si ich musíte doprogramovať, alebo dosť draho dokúpiť. V Power BI, ak by ste ich nenašli medzi tými 200 vizualizáciami, si to tiež viete doprogramovať. Oveľa ľahšie, cez HTML5 a Node.js.

Čo je dobré na SQL Server Reporting Services

Reporting Services majú tiež svoje výhody, aj keď ich v porovnaní s Power BI už nie je veľmi veľa. Viete si v nich napr. parametrizovať report, kde parametre vedia meniť aj užívatelia po jeho vypublikovaní na server. V Power BI máte takú možnosť iba v Power BI Desktope, ale po vypublikovaní to treba obchádzať napr. slicermi (tak ako o tom píšem v mojej knihe o Power BI), a niekedy ani to nie je úplne dostačujúca možnosť.

Ďalšou funkcionalitou, ktorú SSRS majú, a Power BI zatiaľ ešte nemá, je možnosť dať si posielať kópiu reportu v stanovenom čase, a v stanovenom formáte. Viete si dať posielať report vo formáte PDF, Word, Excel, či asi v niektorom z cca. 15 formátov. Naproti tomu v Power BI si viete dať posielať report iba ako obrázok 1 strany, a možnosť PDF je ešte iba v príprave a má byť dostupná okolo leta tohto roku. Pre užívateľov vyžadujúcich mať historické kópie reportov je to dosť problém. Power BI však funguje na cloudovej filozofii, kde je hlavným kritériom zobrazovať aktuálne dáta, a posielať minimum e-mailov. Aj preto je pochopiteľné, prečo posielanie reportov prichádza do Power BI až po takmer 4 rokoch. Niektorí užívatelia si na to proste nevedia zvyknúť.

Ďalšou výhodou Reporting Services je možnosť robiť klasické stránkované reporty, ktoré sa tlačia na papier. S klasickými hlavičkami s firemným logom, a klasikou v pätičke typu “Strana X z Y”. To Power BI nedokáže, a ani to nie je plánované. Celé IT totiž smeruje k eliminácii tlačenia a papieru. A moderné firmy nepotrebujú dnes tlačiť ani zmluvy, ani faktúry. Skúste si objednať predplatné Microsoft Azure, a sledujte, ako to všetko funguje pekne elektronicky. V najväčšej programátorskej firme na svete.

Naoko ďalšou výhodou je podpora celého .NET-u, ak vám niečo chýba vo funkcionalite reportu. V Power BI však máte podporu jazyka DAX, M skriptu, Pythonu a R skriptu. Tipnite si, ktorá z týchto možností má viac funkcionality, a hotových skriptov na webe.

A poslednou hlavnou vecou, ktorú Reporting Services dokážu, je možnosť vkladať do seba jednotlivé reportovacie komponenty. Napr. tabuľku do tabuľky, či graf do riadkov tabuľky, alebo report do reportu. To v Power BI tiež tak skoro nebude, ak vôbec (a obchádza sa to napr. takto, ak je to treba). Je síce úctyhodné, že je tam aj takáto možnosť, ale veľmi sa to nepoužíva. A v Power BI sa rieši rozklikom na detaily, alebo preklikom na ďalšiu stranu alebo ďalší report. Pretože jedna z hlavných zásad budovania reportov je to, aby boli reporty čitateľné a zrozumiteľné. A teda aj vizuálne prehľadné. Čo v prípade vkladania vizualizácií do seba takmer nikdy nie je ten prípad.

Čo majú spoločné Reporting Services a Power BI

Okrem toho, že oba produkty sú od Microsoftu, tak majú spoločné to, že sú vzájomne aspoň trochu integrované. Vnútropodnikový Power BI Report Server sú v skutočnosti iba SQL Server Reporting Services 2019 doplnené o zobrazovanie reportov Power BI a Excelu. Cloudové Power BI vie zobrazovať aj reporty Reporting Services (aj keď zatiaľ iba v Power BI Premium, ale predsa). A takisto aj mobilné Power BI Mobile, ale tam tie reporty SSRS vyzerajú občas dosť divne. Tak či tak, v tomto prípade môžete fungovať na Power BI aj SSRS súčasne.

Oba nástroje sú použiteľné na reporting, aj keď v Power BI je reporting iba jednou z funkcionalít. To je zo spoločných vlastností asi tak všetko.

Ktoré z nich si vybrať

V 90% prípadov je voľba jasná, ak idete do nového riešenia – Power BI. Je to produkt, do ktorého Microsoft tlačí každý mesiac množstvo nových funkcionalít, a ktorý má aj napriek tomu ešte stále oveľa väčší potenciál v porovnaní s tým, čo poskytuje už teraz. Takže v prípade každej modernej firmy ani nie je o čom inom rozmýšľať.

Do Reporting Services by som išiel dnes len z prinútenia, ak by nebola iná možnosť, najmä z týchto dôvodov:

  • firma chce silou-mocou fungovať bez cloudu,
  • užívatelia potrebujú mať historické verzie reportov posielané cez e-mail alebo na zdieľaný adresár,
  • potrebujete mať klasické stránkované dokumenty, ako zmluvy a faktúry, ktoré sa budú tlačiť,
  • potrebujete robiť hyperkomplikované reporty, kde potrebujete do seba vnoriť 5 tabuliek a 10 grafov,
  • máte masochistické sklony a nemáte čo s časom.

Takže takýto je rozdiel medzi Power BI a Reporting Services. Ak by sme mali ísť do detailov, tak určite by to vydalo aj na 10 takýchto článkov. Sú to však všetko veci, ktoré viete dostatočne dobrým náhradným riešením spraviť v jednom aj druhom nástroji. Z môjho pohľadu už dnes nie je jediný dôvod ísť s novými projektami do Reporting Services. Jedine keby to niekto vo firme silou mocou vyžadoval, alebo keď niekto zomrie, ak by nemal niektorú z tých funkcionalít vyššie. Reporting Services síce nie sú ešte mŕtve, ale už sa dlho nerozvíjajú, a v porovnaní s Power BI sú proste veľmi zastaralé. Je to ako stará vs. nová škodovka – odveziete sa síce aj na staručkej 120-ke, ale lepšie je dnes zaobstarať si Octaviu či Superb. Power BI vám totižto poslúži oveľa, oveľa lepšie. Ak by ste však chceli používať reporty Reporting Services v cloude, alebo na Power BI Report Serveri, tak sa zastavte na našom kurze stránkovaných reportov v Power BI.