29. listopadu 2015

Power BI - Zkušenost z praktického nasazení

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 :)  

5 komentářů:

  1. 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ětVymazat
  2. Byl 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ětVymazat
  3. Samozrejme 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ětVymazat
  4. S 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ětVymazat
  5. To, 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