Tento pracovní týden byl dlouhý, tak si nejsem
jistý zda bude dlouhý i tento blog. Za měsíc tomu bude rok, co Power BI nové
generace spatřilo světlo světa. Za krátkou dobu ušlo opravdu velký kus cesty. Často
se setkávám s otázkami a názory, zda se jedná o produkčně použitelnou
technologii v korporátním prostředí. V Dixonu jsme použili Power BI
pro reporting v době největší roční špičky tzv. Black Friday. S čím byly
problémy? To jsou zkušenosti, o které bych se rád podělil v následujícím blogu.
Požadavky
Zpřístupnit klíčovým uživatelům informace o
základních ukazatelích aktuální rok, budget, předchozí rok, srovnání. Přístup z
PC, mobilu. Aktualizace dat každou hodinu + email se shrnutím základních informací. Všichni
uživatelé, kteří budou mít k reportu přístup uvidí stejná data.
Po přečtení těchto požadavků, bylo jasné, že
jedna technologie stačit nebude. Pro posílání emailem jediná volba Reporting
Services. Ty to ale zatím úplně neumí na mobilních platformách, Datazen a Power
BI zase neumí posílat reporty emailem.
Pro moblní nasazení bylo možno zvolit mezi
Datazenem a Power BI. Na repoty bylo potřeba koukat odkudkoliv i bez VPN a
protože s Datazenem zatím nemám mnoho zkušeností, sáhli jsme po Power BI.
Pěkné rozhraní přes Web, mobilní aplikace dostupná na všech mobilních
platformách (Windows jen na tabletech). Většina lidí z managementu má iOS,
Android, sem tam Blackberry (Blackberry = smůla, bude muset stačit email)
Technické
řešení
Tvorba multidimenzionální OLAP kostky nad
datovým skladem pro účely Black Friday reportingu. Pro online a mobilní
reporting Power BI, pro doručení mailem SSRS. Na SSAS serveru s kostkou nainstalována
Power BI Personal Geteway k propojení On premises zdrojů s Cloudem.
Aktualizace kostky probíhala po hodině. V Power BI desktopu jsem vytvořil
logický model nad MDX dotazy z OLAP kostky. Chybějící výpočty jsem dodělával
v DAX a věnoval se vizualizaci.
S čím
byly problémy
Tvorba reportu
začal jsem s reportem ještě v době,
kdy nešlo kopírovat celé stránky. Tento problém díky Listopadové aktualizaci
zmizel. Přetrvávaly drobné problémy při detailnějším formátování některých
vizualizací. To že chybí u vybraných vizualizací možnost změnit velikost písma
zamrzí. Potom se člověk trápí s pozicováním, aby to nějak vypadalo a to
písmo nevypadalo neúměrně velké k dalším objektům a hlavně aby se i
ostatní objekty pěkně vešly.
Publikace do webu PowerBI.com
Reporty v SSRS se nedají sdílet, sdílet
se dají pouze Dasboardy (v české lokalizaci Řídící panely). To co vystavíte v Dashboardu
je také to, co je dostupné přes mobilní aplikaci. Zde mě docela vytrápilo, že
jsem přidal několik grafů do dashboardu, vyhrál si s pozicováním a poté
změnil obsah jednoho grafu. Jednalo se o zásahy ve stylu nahrazení měřítka „suma
za celý den“ za „kumulace od začátku dne po aktuální hodinu (loňský rok)“. Po
opětovné publikaci reportu do Power BI portálu zůstal tento graf rozhozen
(something went wrong, click here to fix it). Několikrát to dospělo k tomu,
že jsem vymazal celý obsah dashboardu a přišpendlil všechny objekty zpátky. Což
člověka nebaví už napodruhé, natož napočtvrté. Hodilo by se mít možnost
přišpendlit na Dashboard několik položek zároveň a hlavně aby se metadata „nerozbíjely“.
Správa
Po nasazení do cloudu mi chyběla jednoduchá
možnost, přesměrovat z vývojové kostky na kostku produkční, jako je možno
například v Reporting Services díky sdíleným datovým zdrojům.
Po nasazení reportu a přišpendlení vizualizací
na dashboard můžeme sdílet. Sdílení funguje na jednotlivé emailové adresy,
které musíte manuálně vkládat. Při 30ti adresách to už není nic moc, snad MS
přijde s nějakým jiným, lepším způsobem řízení práv. Namátkou mě napadá integrace
s AD, nastavení práv pro AD skupiny, nebo import seznamu uživatelů ze
souboru.
Při spravování Dashboardu mi chyběla možnost
učinit jiného uživatele administrátorem mého dashboardu/reportu/datasetu. U dashboardu
je sice možno povolit uživatelům, aby sdíleli dashboard dál, ale pokud tohle
učiníte, už se v seznamu práv nedá prakticky určit, zda jste uživateli v seznamu
nasdíleli obsah vy přímo, nebo někdo, komu jste dashboard nasdíleli Vy.
Z Dashboardů, reportů a datasetů se dá
udělat tzv. content pack, který pošlete dalším lidem. Když takhle někomu obsah
nasdílíte, může jej upravovat dál. U datasetů vás ale bohužel vyzve k uložení
kopie. Pokud máte dataset pouze nasdílený, nemůžete jej aktualizovat a jste
odkázání na scheduler, nebo sdílejícího uživatele. Když uděláte kopii hrajete
si na svém vlastním písečku.
Možnost, aby kdokoliv ze 3 adminů dataset
aktualizoval chyběla velmi. Dopadlo to tak, že jsme se museli hlásit pod jedním
účtem.
Scheduler / automatická aktualizace
Největší tragédií celého snažení byly
aktualizace dat. V Power BI je možno fungovat buď v režimu koukám na
živá data (přes SSAS konektor) nebo data aktualizuji a načítám je lokálně do
modelu (Přes Personal Gateway) více informací ve článku o konektorech http://www.neoral.cz/2015/10/power-bi-konektory-na-on-premise-zdroje.html.
Protože jsme používali data z multidimenzionální OLAP kostky (kde je živé
připojení zatím ve fázi Preview a funguje pouze na Desktopu), museli jsme data
aktualizovat. Časovač Vám umožní v rozbalovacím menu vybrat buď
aktualizaci každý den, nebo týden. Při výběru dne můžete vybrat několik časů v průběu
dne. Pouze ale v celou hodinu nebo o půl. Vyklikávám takhle časy vyberu
osmý a STOP... Nemůžu dál. To si děláte legraci. Nejen že tu musím vyklikávat
hodinovou aktualizaci výběrem 8mi časů, ale ani mě nepustíte za těch 8? Nu co
už nějak to přežijeme, prostřídáme se a přes ten Peak to nastavíme vždy na 8
hodin dopředu a pak zase. Naštěstí jde nastavit notifikace, kdyby se
aktualizace neprovedla. Taková byla teorie. Nebude to příjemné, ale přežijeme
to. V průběhu testování jsme však zjistili, že přestože je aktualizace
nastavená na půl. Jednou se spustila ve 30, jednou ve 32, jednou ve 40, jednou
v 59 a několikrát vůbec... A měla tu drzost, že ani neposlala email (možná
aktualizace neproběhla proto, že krátkou dobu před ní byla zavolána ruční
aktualizace). Nakonec jsme to dopracovali do stavu, že jsme aktualizace
prováděli ručně v době kdy bylo potřeba. Do budoucna by to chtělo možnost
udělat šikovnou návaznost mezi zpracováním dat On Premises a aktualizací Power
BI v cloudu, ale hlavně spolehlivý časovač s lepšími možnostmi volby
frekvence aktualizace dat. U denních aktualizací by to mohlo být více méně
jedno, ale pokud se snažíte o systém, který má zpoždění max hodinu a řekli jste
uživatelům po půl to bude, jsou tyhle výkyvy hodně cítit.
S čím
problémy nebyly
Zbytek :) Reporty se tvořily jednoduše, DAXy
fungovaly jak měly. Power BI Personal Gateway aktualizovala data, když to
člověk zavolal ručně. S mobilními aplikacemi také probém nebyl. Reporty se
líbily :)
Závěr
Power BI je použitelné i v produkčním prostředí.
Má však poměrně velké rezervy zejména v oblasti
správy. Nejvíce nás vytrápil nespolehlivý scheduler aktualizací. Něco jiného je
ale když potřebujete aktualizovat data pouze denně, tam bych obavy neměl.
Zapracovat by bylo také potřeba na security modelu. I přes tyto problémy co
jsme měli mám Power BI velmi rád a věřím, zítra dám produktovému týmu zpětnou
vazbu a věřím, abychom za další rok všichni měli ještě lepší Power BI :)
Chcem sa opytat na to technicke riesenie. Vytovreny multidimenzionalny olap a personal gateway. Ako sa pripaja? Live alebo import? Nakolko pises, ze chybajuce vypocty su v dax, tak zrejme import vsak? nieje problem s vykonnostou? Co som testoval tak len pri napojeni na adventure works multidim olap, a pri importe ak som pridal viacero dimenzii tak to padlo.
OdpovědětVymazatByl to import z multidimenzionalniho OLAPu, v te dobe live connection na multidimenzionalni OLAP jeste nebyl k dispozici, pouze na tabular. Ted uz to mozne je, ale da se kostka pouze prochazet (neda se kombinovat vlastni MDX dotaz s live pripojenim). S vykonem problem nebyl, dotazy byly napsane tak, aby braly jen to co bylo potreba, takze se jednalo o radove stovky radku. Kalkulace v DAX jsem delal kvuli tomu, aby fungovaly spravne na ruznych urovnich pri zobrazeni pres PowerBI
OdpovědětVymazatSamozrejme uz chapem, napisal som skor ako som docital cely clanok. V terajsej situacii je asi vhodnejsie zvolit Enterprise gateway, nakolko v pripad, ak by chceli personalizovane reporty pre pouzivatela tak to umoznuje. Efektivnejsie je pouzit live konekciu, alebo import? Na druhej strane suhlasim, ze problem powerbi je hlavne v sekurite, sprave reportov a refreshy dat, ale zas vytvaranie reportov a jeho jednoduchost nema obdobu.
OdpovědětVymazatS live pripojenim porad narazim na problem, ze se neda kombinovat s vlastnimi MDX dotazy. Pokud bych si mel vybrat jestli live, nebo import, zalezelo by na pozadavcich. Pokud by nebyl problem s tim, ze vsichni uzivatele vidi stejna data a vystacil bych s frekvenci aktualizaci, sel bych do importu. Pokud ne, resil bych to pres live pripojeni. Me fascinuje hlavne rychlost vyvoje, to co ted neni, nebo funguje problematicky uz mozna za mesic bude vyreseno :)
OdpovědětVymazatTo, ze u nas kazdy pozaduje personalizovane udaje. Snad si take tempo udrzia. Je tam este na com popracovat, ale ako vravis, takym tempom do konca roka by to malo mat vsetko a este aj cosi navyse. Vhlavne v tej oblasti administracie, ak to chcu dostat na uroven enterprise ready do bank atd. Som zvedavy, co pride v januari :)
OdpovědětVymazat