30. července 2018

Publikace Power BI reportu do SharePointu Online


Nedávno jsem psal blog post, proč nepoužívat funkci Publish To Web v Power BI (http://www.neoral.cz/2018/07/power-bi-proc-nepouzivat-publish-to-web.html). Důvod byl bezpečnost dat. Zmiňoval jsem, že jako alternativa je použití funkce "Embed To SharePoint". Jak na to a jaká jsou úskalí? O tom bude dnešní článek.
Abyste mohli vkládat Power BI reporty do SharePointu online, potřebujete takzvané "Modern pages". Tyto je potřeba explicitně povolit. Dělá se to v Site settings-Manage Site Features-Site Pages-Activate
Dále vytvoříte novou Site Page


Kliknete na plusko pro přidání obsahu a najdete Power BI


Vyberete add report


Přepnete se do Power BI portálu do reportu, který chcete sdílet a zvolíte v menu file - Embed To SharePoint. Zkopírujete link, nastavíte velikost reportu. Zvolíte, zda chcete zobrazit navigaci mezi stránkami a lištu s filtry po pravé straně. 


Stránku vypublikujete a případně přidáte link na ni na nějaké viditelné místo. 
Na rozdíl od Publish To Web je možno vkládat touto formou vytvořené reporty i takové, které využívají live connection a sice proto, že dochází k ověření uživatele. To má ale také "nepříjemný" dopad. Spíše vlastnost. Pokud chcete, aby uživatel report viděl, musíte s ním report explicitně nasdílet. A abyste s ním mohli report mohli explitně nasdílet, uživatel potřebuje Pro licenci. Nebo musíte mít zakoupené Power BI Premium. Poté můžete sdílet i se všemi Free uživateli

Embedování do SharePointu je bezpečnou variantou, jak se o reporty podělit v rámci stránky SharePointu online. Nevýhodou může být složitější administrace a vyšší finanční náročnost. Bezpečnost citlivých dat v době GDPR ale určitě tyto drobné nevýhody vykoupí :)

24. července 2018

Kompozitní modely

Tento měsíc jsme si na nový Power BI Desktop počkali o něco déle. Určitě to souviselo s probíhajícím Microsoft Business Applications Summitem, kde bylo oznámeno další směřování produktu. K dnešnímu tématu. Co jsou kompozitní modely?
V Power BI Desktopu můžeme tradičně volit mezi 2mi typy připojení. Data Importem a živým připojením. O metodách připojení jsem mimo jiné psal v tomto článku anglicky zde http://www.neoral.cz/2016/10/power-bi-live-connection-vs-import.html a také přednášel zde https://www.youtube.com/watch?time_continue=2&v=NtQqTaI4w7E
Import může kombinovat libovolný počet zdrojů. Živé připojení bylo ale odsouzeno k tomu, že jste byli uvězněni do jednoho jediného zdroje.
To se nyní mění právě díky kompozitním modelům.
Kompozitní model umožňuje kombinovat více zdrojů s živým připojením (zatím jen tabulární typ, ne multidimenzionální kostky atd.). A také umožňuje kombinovat metodu import s živým připojením.
Tato preview funkce se povoluje v menu File-Options-Preview Features-Composite Models



V pravém dolním rohu obrázku vidíte, že jsem v režimu Storage Mode: Direct Query. Přesto však nemám zašedlý Get Data Dialog.
První zdroj jsem pro účel screenshotu zvolil ContosoRetailDW
Jako druhý si vezmu AdventureWorksDW z jiného serveru. Tam si vezmu tabulku FactInternetSales
Vyskočí potential security risk



V relationship window můžu udělat logickou vazbu (i když mezi těmito databázemi opravdu není) mezi tabulkou DimDate Na jedné straně ai FactInternetSales na druhé přes OrderDate. Vyskočí mi, že typ vazby bude Many to Many (další novinka, které se nejspíš v detailu pověnuji samostatně). Je to totiž trošičku jiné Many to Many, než znáte z databází. Kdo by si chtěl přečíst v originále, můžete zde: https://docs.microsoft.com/en-us/power-bi/desktop-many-to-many-relationships



Na úrovni jednotlivých objektů potom můžete v table properties definovat, jestli chcete, aby daná tabulka byla braná jako import, živé připojení, nebo dual.



Výhodou by mělo být omezení bombardování backendového zdroje opakovanými dotazy například pro hodnoty slicerů. Abyste ten zdroj netrápili více, než je nezbytně nutné.

Pokud byste se chtěli podívat na kompozitní modely na živo, v Brně proběhne konference SQL Server Bootcamp (3.ročník s bezplatnou registrací zde: https://wug.cz/brno/akce/1080-SQL-Server-Bootcamp-2018 )

Navrhnul jsem téma "Power BI – Import dat vs. živé připojení a dál" kde jsem chtěl o tomto tématu mluvit. Když se o kompozitních modelech ví už veřejně, můžu přednášku přejmenovat na "Power BI – Import dat, živé připojení a kompozitní modely"

Moje další témata na Bootcampu jsou:
BI řešení pro ne BI lidi
Dynamický partitioning OLAP kostek s použitím SSIS
Master Data Services a jejich využití pro BI vývojáře
Power BI – Best practices
Power BI – Co nového a dobrého přinesly poslední měsíce

Témat jsem nasázel tradičně hodně a věřím, že se všechny do programu nevlezou :) Ale na Bootcampu Vás rád uvidím.

Po krátké reklamní vložce zpátky ke kompozitním modelům. VELKÝ POZOR. Modely s touto funkcí zatím nejdou publikovat do Power BI Service. Tož si ty vaše produkční reporty prvně někam odzálohujte, než si s tím začnete hrát :)

Těším se, až bude možno dělat live connection i nad multidimenzionálními zdroji, což je určitě logický krok, kam by se mohla technologie vyvíjet dál. Přeji příjemnou zábavu s kompozitními modely.

9. července 2018

Power BI - Proč nepoužívat Publish to web

Na začátek lehce provokativní název. Blog by se mohl jmenovat spíš "Kdy nepoužívat Publish to web a jak se bránit" To by měl ale potom možná méně kliků :)
Proč bych Vás nyní zrazoval od sdílení na web v Power BI, když jsem sám v minulosti lákal článkem "Veřejné sdílení reportů". http://www.neoral.cz/2016/02/power-bi-verejne-sdileni-reportu.html
Ono veřejné sdílení reportů může být vhodné za určitých situací. S mnou sdíleným kurzovním lístkem ČNB by asi problém nebyl.
Problém nastává v situaci, kdy se firmy a jednotlivci snaží používat Power BI zadarmo a za účelem obcházení licenčního modelu. Nebo si jen nejsou vědomí dopadu svých akcí.
Neboť jak praví svaté písmo (dokumentace) https://docs.microsoft.com/en-us/power-bi/service-publish-to-web

Když chcete použít Publish to web, vězte, že vypínáte zabezpečení. Je to vhodné použít pouze pro obsah, kde nevadí, že REPORT I DATA jsou veřejně dostupná komukoliv z internetu. 
Člověk si může myslet, že kód pro sdílení je natolik strašidelný a neodhadnutelný, že se k tomu přece nikdo nedostane. Člověk si ten kód sice nevycucá, ale co stroje? Obsah reportů včetně detailních dat může být nelezen roboty a je indexován vyhledávači (Bingem počínaje, ale těžko říct, kde konče).
Takže je potřeba si položit otázku: 
Opravdu nasdílím v době GDPR data zákazníka touto formou? Vystavím takto data zaměstnanců? Vystavím takhle do internetu finanční data firmy?
Každý si odpovězte sám, já si za sebe řekl, že ne :)
Pokud chcete nasdílet na SharePointu něco ze zmiňovaných typů reportů, existuje zde bezpečná alternativa "Embed in SharePoint Online".
Více informací o této funkci v originále https://docs.microsoft.com/en-us/power-bi/service-embed-report-spo

Jak se tedy bránit z pohledu Admina?
V Admin portále můžete jednak zkontrolovat kdo co vypublikoval touhle formou, včetně možnosti embed kód smazat
Nebo můžete rovnou přistoupit k drastické metodě a zakázat tuhle funkci pro celou organizaci

Admin Portal - Tenant Settings
Závěr
Přeji příjemnou zábavu při prohlížení toho, co kolegové z organizace nasdíleli. Stejně tak pevné nervy při mazání obsahu a zakazování :)