21-03-2022 Door: Dennis den Broeder

Report bursting met Microsoft Power BI rapporten

Deel dit bericht

Veel bedrijven hebben of hadden report bursting ingericht met behulp van andere BI-tools. Het doel was vaak om rapporten in verschillende formaten te distribueren binnen de eigen organisatie, maar ook naar externe organisaties. In deze blog kijken we eens naar de mogelijkheden voor report bursting van PowerBI rapporten

Wat doet report bursting ook alweer? Met report bursting kan je een rapport schedulen en met een schedule verschillende gefilterde versies van hetzelfde rapport versturen naar verschillende gebruikers en/of opslaan op een file locatie.
1PBI_bursting.png

Microsoft Power Automate
Voor Power BI report bursting maak je gebruik van Microsoft Power Automate. Inloggen kan via de link https://emea.flow.microsoft.com/ met je Office365 account. Samengevat kan een bursting flow er dan als volgt uit zien:


2Powerautomate_overview.png

In dit geval worden verschillende gefilterde versies van hetzelfde Power BI rapport verstuurd naar verschillende Email ontvangers en worden ze ook opgeslagen op een SharePoint Online locatie. Uiteraard kan ook alleen voor mail verzenden of SharePoint locatie gekozen worden of er kan zelfs nog een SFTP-actie aan gekoppeld worden.

Werking in detail
Recurrence
Bij het definiëren van een nieuwe Cloud stroom definieer je het interval van de schedule. Dit kan een keer per maand, week, dag etcetera zijn.

Input tabel voor report bursting
Dit is een belangrijke stap, want hier definieer je op basis van welke objecten/filters een rapport in “stukken wil hakken”. De input tabel is in dit geval een Excel file gedefinieerd als tabel en opgeslagen in SharePoint Online zodat deze benaderbaar is vanuit Power Automate.

3PBI_Bursting_Input_tabel.png

Met behulp van de kolommen Workspace ID en Report_ID geef je aan om welk Power BI rapport het gaat. ID’s kan je vinden in de URL wanneer je het desbetreffende rapport opent.

In de kolom “Filter” heb ik de syntax opgenomen op basis waarvan ik de verschillende rapporten wil filteren/opsplitsen. Meer mogelijkheden m.b.t. syntax vind je hier: https://docs.microsoft.com/nl-nl/power-automate/use-expressions-in-conditions

Een makkelijke manier om de syntax te controleren is om de filter achter de rapport URL te plakken. Plak bijvoorbeeld het volgende stukje achter een rapport URL “ ?filter=Zipcodes/State Name eq 'Arizona' ” en controleer of de betreffende filter wordt toegepast bij het opvragen van het rapport.

Besturingselement “Op elk(e) toepassen”
Hiermee worden alle rijen (records) uit bovenstaande input tabel doorlopen. In mijn voorbeeld worden zeven varianten van het rapport verstuurd en opgeslagen op een SharePoint locatie.

4PBI_Bursting_Elke_toepassen.png

Exporten naar bestand voor Power BI rapporten
Vul hierin om welk Power BI rapport het gaat. Ik verwijs hier naar mijn Excel kolommen in het input bestand. Het is ook mogelijk om hier de betreffende ID’s gewoon in te typen.


5PBI_Bursting_Export_PowerBI.png

E-mail verzenden/of Exporten naar SharePoint Online
Hierboven de laatste stappen in het proces waarbij het handig is om de velden die ingevuld moeten worden dynamisch toe te wijzen op basis van de kolommen in het input bestand.


6PBI_Bursting_Outlook_SharePoint.png

Vervolgstappen
De Cloudstroom kan getest worden. Dit is zeker handig wanneer er een stap in zit met e-mail verzenden, dan wordt tijdens het testen namelijk eerst alle mail naar je eigen e-mail verzonden.

Verder kan de Cloudstroom gedeeld worden met anderen, wat weer handig is bij vakantie, ziekte etcetera. Ook kan je alle Cloudstromen beheren in de Power Automate portal en ontvang je een mail wanneer de Cloudstroom onverhoopt fout loopt.

Exporteren naar andere formaten
Een Power BI rapport kan maar naar een beperkt aantal formaten geëxporteerd (PDF, PPTX en PNG) worden. Wanneer je ook wil exporteren naar andere formaten zoals bijvoorbeeld CSV of Excel dan zal je een rapport moeten maken in Power BI Report Builder. In Power Automate kan je dan de actie “Exporteren naar bestand voor gepagineerde rapporten” gebruiken. De rest van de stappen zijn dan vergelijkbaar zoals hierboven beschreven.

Benodigde licenties
Helaas werkt de combinatie van Power BI en Power Automate op dit moment alleen met een Power BI premium per capaciteit licentie. Waarschijnlijk omdat je hier alle licenties voor je organisatie al hebt afgekocht en het voor Microsoft niet meer uitmaakt dat rapporten via een “omweg” aan gebruikers ter beschikking worden gesteld.

Alternatief
Wanneer je een Power BI licentie hebt kan je op PowerBI.com jezelf abonneren (of iemand anders kan dat voor je doen m.b.v. Azure AD groepen) op een rapport dat periodiek verzonden wordt. Standaard wordt de hele inhoud van een rapport verzonden, maar het is ook mogelijk om Row Level Security in te richten in bijvoorbeeld Tabular Model of in een Power BI Dataset. Het rapport wordt bij openen en/of verzenden dan automatisch gefilterd op de Row Level Security regel die voor de betreffende gebruiker geldig is.

Conclusie
Report bursting van Power BI rapporten met Power Automate is een mooie functionaliteit, maar helaas alleen mogelijk met een duurdere Power BI Premium per capaciteit licentie. Afhankelijk hoe belangrijk report bursting is, totaal aantal Power BI gebruikers en of er verplichtingen zijn naar externe organisaties is dit een afweging waard. Een alternatief voor kleinere organisaties kan zijn dat iedereen binnen een organisatie met een rapportage behoefte een Power BI account krijgt en met Row Level Security ingeregeld wordt dat personen de juiste gefilterde informatie krijgen te zien.

Dennis den Broeder

Dennis is binnen het vakgebied Business Intelligence gespecialiseerd in BusinessObjects. Binnen Ensior is Dennis verantwoordelijk voor het compentence center SAP BusinessObjects en verzorgt daarnaast regelmatig kennissessie's over SAP BusinessObjects en Microsoft BI voor klanten. Ook schrijft hij blogs voor de Ensior website.

Alle blogs van deze auteur

Partners