De inrichting van Power BI Service

In mijn vierde blog over Power BI in de praktijk van Kasparov BI wil ik het hebben over de inrichting van Power BI Service. Opnieuw voer voor vakgenoten; voel je vrij om feedback te geven en vragen te stellen. Graag zelfs!

In het eerste artikel van deze serie, ‘Een introductie van Power BI’, werd Power BI Service genoemd als stap zes (6). In Power BI Service kun je rapportages publiceren, zodat ze beschikbaar zijn voor eindgebruikers. Hier kun je beveiliging aan toevoegen, om zo alleen specifieke gegevens te tonen. Power BI Service is het eindstation van een Power BI-ontwikkeling en heeft als doel de content te delen met eindgebruikers.

1. Verschillende vormen van een semantisch model

Om tot een goede inrichting van de Power BI Service te komen, is het noodzakelijk eerst het verschil en de werking te begrijpen tussen verschillende vormen van een semantisch model. Er zijn drie vormen van een semantisch model: importmodel, direct-query-model en mixmodel.

Import
Import betekent dat Power BI de data importeert vanuit de bron, alle stappen van Power Query uitvoert en vervolgens in het semantisch model opslaat. Bij een vernieuwing van het model wordt het gehele proces opnieuw uitgevoerd.

Het opnieuw uitvoeren van het proces kan voor prestatieproblemen zorgen. Het kan immers zijn dat zo’n grote hoeveelheid data wordt geïmporteerd dat het lang kan duren. In dit geval zou incrementeel vernieuwen een vereiste kunnen zijn voor het inrichten van de service.

Daarnaast kan het zijn dat lokaal geplaatste bestanden worden geïmporteerd. In Power BI-desktop zal dit geen problemen opleveren, omdat de ontwikkelaar op dat moment toegang heeft tot het bestand (het staat immers lokaal). De Power BI Service, een cloud omgeving, heeft dit uiteraard niet. In dit geval is een gateway (databrug tussen het lokale bestand en Power BI Service) vereist.

Direct-query
Direct-query betekent dat het semantisch model direct op de geconnecteerde database zijn query uitvoert. Hier komt geen import en kopie van de data aan te pas. De prestatie van direct-query is zeer afhankelijk van de opbouw van de database waar hij zijn query vandaan haalt.

Incrementeel vernieuwen, is geen optie bij een direct-query. Power BI importeert immers geen data, maar haalt alleen de data op die hij op dat moment nodig heeft. Een direct-query is alleen mogelijk als er een database, zoals bijvoorbeeld een SQL-server, achter zit. Dit kan uiteraard een lokale SQL-server zijn of een cloud-based server. Bij een lokale SQL-server is dan wel een gateway nodig.

Mixmodel
Een mixmodel is een combinatie van import & direct-query. Het vult een direct-query connectie aan met geïmporteerde bestanden.

2. Inrichting werkruimte

Om tot een goede inrichting van een Power BI Service te komen, is het belangrijk na te denken over de inrichting van de werkruimtes. Er zijn twee soorten werkruimtes; mijn werkruimte & generieke werkruimtes. Mijn werkruimte is alleen voor jezelf, aan generieke werkruimtes kunnen meerdere personen worden toegevoegd. In dit artikel ligt de focus op generieke werkruimtes. Om tot een goede inrichting van een generieke werkruimte te komen, is het belangrijk de juiste licentie af te sluiten, een goede werkruimtestructuur neer te zetten, de functionaliteit van de werkruimte te bepalen en toegang voor gebruikers in te stellen.

Licentie
Om een generieke werkruimte aan te kunnen maken en te gebruiken, is op zijn minst een Power BI Pro-licentie nodig. Een premium per gebruiker of premium per werkruimte geeft meer functionaliteiten, maar is in beginsel niet nodig. Het verschil in licenties is te vinden op https://www.microsoft.com/en-us/power-platform/products/power-bi/pricing.

Structuur
In een werkruimte kunnen meerdere onderdelen worden gepubliceerd die onderdeel zijn van Power BI. Zo kunnen naast semantische modellen ook datastromen en rapportages worden gepubliceerd. Dit kan onoverzichtelijk worden. Zorg daarom altijd voor structuur door de verschillende onderdelen in folders te plaatsen. Daarnaast zijn vaak meerdere ontwikkelaars bezig in één werkruimte. Ook dit kan onoverzichtelijk zijn, daarom is het belangrijk dat elke ontwikkelaar zijn eigen folder heeft.

Functionaliteit
Een tweede belangrijke factor betreft de functionaliteit van de werkruimte. Heeft de werkruimte een ontwikkel-functionaliteit, een test-functionaliteit of een uitvoerende functionaliteit? Voorbeeld: Als men veel materiaal aan het ontwikkelen is, zonder daarbij uitgebreid te testen, mag dit materiaal nog niet beschikbaar zijn voor eindgebruikers. Het publiceren van ontwikkelmateriaal in een werkruimte met eindgebruikers is dan ook niet wenselijk. In dit geval is het beter om gebruik te maken van een OTAP-methode (ontwikkel, test, acceptatie, productie) waarbij men een werkruimte aanmaakt voor elke stap in het ontwikkelproces.

Toegang van de werkruimte
Een goede governance is erg belangrijk in een Power BI-ontwikkeltraject. Het mag op geen enkele manier voorkomen dat een gebruiker onterecht toegang heeft tot data. Het is daarom erg belangrijk om een goede authorisatiematrix in te stellen. Wie heeft welke rol, welke rol mag welke taak uitvoeren, welke rol heeft toegang tot welke data?

In de praktijk kan een simpele authorizatie matrix er als volgt uitzien:

Get Data

Als aan de hand van de authorisatiematrix is vastgesteld wie welke rol mag vervullen, kan in de werkruimte de persoon in kwestie worden toegevoegd en vervolgens kan aan deze persoon een Power BI-rol aan worden toebedeeld. De verschillende rollen zijn admin, member, bijdrager en lezer. Elke rol heeft zijn eigen authorisaties. Deze zijn terug te lezen op https://learn.microsoft.com/en-us/power-bi/collaborate-share/service-roles-new-workspaces. Hierbij is het belangrijk om te vermelden dat row-level-security alleen van toepassing is bij de rol leesrechten.

Microsoft Entra ID beveiligingsgroepen
Vanuit de praktijk wordt aangeraden om met Microsoft Entra ID-beveiligingsgroepen te werken. Dit zijn beveiligingsgroepen, aangemaakt in Azure en vaak beheerd door IT. In een beveiligingsgroep kunnen meerdere gebruikers zitten. Deze groepen hebben vaak al specifieke rechten die bij de organisatie behoren en zijn daarom veiliger. Bijkomend voordeel is dat het beheer van de werkruimte minder werk kost. Het toevoegen van één Microsoft Entra ID-beveiligingsgroep ten opzichte van 10 eindgebruikers is al winst, maar ook het bijhouden kost minder werk. Een IT-afdeling heeft vaak meer zicht op welke gebruiker de organisatie verlaat dan

3. Power BI tenant-instellingen

De tenant instellingen vind je in het admin-portaal, via het tandwieltje rechts bovenaan. De tenantbeheerder kan via deze opties bepalen wat een gebruiker van de Power BI service wel of niet mag. De gemiddelde gebruiker zal hier niet veel mee van doen hebben, omdat de tenant-instellingen bij default zijn ingesteld. Een aantal belangrijke opties om te onderzoeken zijn:

Werkruimte-instellingen
Dit zijn instellingen die bij werkruimtes horen. Men kan hier de gebruik- en bewaartermijn instellen. Enkele belangrijke uit te lichten onderdelen zijn:

Aanmaken werkruimte
Dit geeft de gebruiker de optie om zijn eigen generieke werkruimte aan te maken.

Gebruik semantisch model over werkruimtes
Dit geeft de gebruiker de optie om een semantisch model gepubliceerd in werkruimte één (1) te gebruiken in werkruimte twee (2). Het uitzetten van deze optie zorgt ervoor dat men mogelijk geen gebruik meer kan maken van de optie “live connectie” oftewel de data connector “Power BI semantisch model”

Bewaartermijn van de werkruimte
Schakel deze instelling in om een ​​bewaarperiode te definiëren waarin je een verwijderde werkruimte kunt herstellen. Aan het einde van de bewaartermijn wordt de werkruimte definitief verwijderd. Standaard worden werkruimten altijd minimaal zeven dagen bewaard voordat ze definitief worden verwijderd.

Informatiebescherming
Het onderdeel informatiebescherming gaat voornamelijk over het toepassen van vertrouwelijkheidslabels. Dat zijn labels die een ontwikkelaar toepast om data te classificeren en beschermen. Zowel in Power BI-desktop als Power BI Service zijn deze labels toe te voegen. Het zorgt ervoor dat het delen en exporteren van Power BI bestanden en/of data wordt beperkt aan de hand van het gegeven label.

Voorbeeld: De organisatie heeft een rapport in de Power BI-service dat vertrouwelijke gegevens bevat. De ontwikkelaar geeft dit rapport een label en noemt dit label ‘vertrouwelijk’ en configureert de instellingen om te voorkomen dat ongeautoriseerde gebruikers het rapport openen als het de Power BI-service verlaat. Als iemand besluit deze gegevens naar een niet-geautoriseerde gebruiker te e-mailen (het vertrouwelijkheidslabel is niet gepubliceerd naar zijn Power BI-account), verschijnt er een prompt waarin wordt aangegeven dat hij of zij het bestand niet mag openen.

Exporteren en delen instellingen
Dit onderdeel gaat over het exporten en delen van data. Zo is het binnen Power BI mogelijk om data behorende bij een visualisatie te exporteren naar Excel, CSV, PowerPoint. Dit betekent de mogelijkheid om data te exporteren naar een lokaal bestand en hierdoor ook de mogelijkheid om dit verder te delen. Let op! Dit gaat een stapje verder dan vertrouwelijkheidslabels. In het geval van een vertrouwelijkheidslabel heeft de gebruiker met het juiste label alsnog toegang. In het geval van het uitzetten van exporteren en delen instellingen verliest de gebruiker de volledige mogelijkheid om te exporteren en te delen, ongeacht het vertrouwelijkheidslabel.

Integratie instellingen
De integratie-instellingen houden zich voornamelijk bezig met connectiviteit. Denk hierbij aan XLMA en single sign-on mogelijkheden. Een belangrijk uit te lichten onderdeel is:

Sta XMLA-eindpunten toe en analyseer in Excel met on-premise semantische modellen

Deze optie bepaalt dat de ontwikkelaar gebruik kan maken van het XLMA-eindpunt en/of analyseer in Excel. Als deze optie uit staat dan kunnen externe applicaties zoals TB3, Dax studio en ALM toolkit geen connectie meer maken met het semantisch model.

Power BI-visualisatie
Gebruikers in de organisatie kunnen (externe) visualisaties toevoegen, bekijken, delen en gebruiken die zijn geïmporteerd uit de App Source of uit een bestand. Standaard visualisaties vallen niet onder deze categorie. Deze categorie beschermt de organisatie voornamelijk tegen visualisaties van buitenaf.

Admin API-instellingen
Deze instelling is van belang bij het gebruik van een service-principal. Service-principal is een verificatiemethode die kan worden gebruikt om een ​​Microsoft Entra-toepassing toegang te geven tot de inhoud en API's van de Power BI-service. In de admin api instellingen kan worden bepaald of dit is toegestaan of niet.

Data model-instellingen
Gebruikers kunnen zelf datamodellen bewerken in de Power BI-service (preview).

Git Integratie
In het geval van Git integratie kan hier de toestemming worden bepaald.

4. Intermissie

Even pas op de plaats. Intussen is een semantisch model gemaakt, zijn één of meerdere werkruimtes aangemaakt, de structuur van de werkruimte is ingericht, de functionaliteit is bepaald en de toegang is geregeld. Als laatste zijn de tenant-instellingen ingesteld. Het semantisch model kan nu worden gepubliceerd in de daarvoor bestemde werkruimte.

5. Thin reports

Bij het publiceren van een semantisch model in een werkruimte hangt Power BI automatisch het rapport eraan vast. Het publiceert dan het semantisch model en het bijbehorende rapport. Vanuit de praktijk wordt altijd aangeraden om het aantal semantisch modellen zo laag mogelijk te houden. Dit voorkomt overlap in data & functionaliteiten en voorkomt hierdoor dubbel werk.

Om het aantal semantisch modellen zo laag mogelijk te houden, zal een splitsing worden gemaakt in semantisch model en bijbehorende rapportage. Het semantisch model beslaat de data + berekeningen en de rapportage beslaat de visualisatie. Als een semantisch model is gepubliceerd kan via de Power BI desktop connector ‘Power BI semantisch model’ een connectie worden gemaakt met dat semantisch model. Power BI haalt dan alle (meta) data op, waardoor de ontwikkelaar, voor visualisatie, gebruik kan maken van de data in het semantisch model. Deze manier van werken behoudt één semantisch model met daaraan meerdere rapportages. Men noemt dit in de praktijk 'thin reports'.

6. Power BI APP

Stel: De organisatie heeft één semantisch model met meerdere ‘thin reports’. Een eindgebruiker heeft vaak de behoeften om snel te schakelen tussen rapportages. Om dit te realiseren kan er een Power BI App worden aangemaakt. Een Power BI App pakt alle rapportages in een werkruimte en bundelt deze in een app interface. De app heeft daarnaast de optie om bepaalde rapportages niet mee te nemen, een volgorde te bepalen en gebruikers te selecteren. Dit betreft vaak het laatste proces van de inrichting van een Power BI service.

Let op: Een Power BI App update niet uit zichzelf. Dit vergt een handmatige actie. Bij een visuale wijziging in een rapport zal de app dus handmatig moeten worden vernieuwd.

7. Afsluiting

Ter afsluiting kunnen we de usage metrics aanzetten op de werkruimte. Power BI usage metrics is een door Power BI Service gecreëerd rapport. Het voornaamste doel is gebruikersstatistieken te verzamelen en te analyseren. Het rapport is uitermate geschikt om bij te houden wie het rapport bekijkt, wanneer, waar etc. Het rapport is makkelijk in te stellen door in de werkruimte naar een rapportage te navigeren en met rechtermuisknop op ‘view usage metrics reports’ te klikken. Power BI maakt dan een zelf gegenereerd semantisch model aan. Het semantisch model is niet toegankelijk en de data gaat maar één maand terug.

Marnix Pot

Marnix Pot

Wij houden jou op de hoogte