Powerdobs Best Practices voor Power BI

Powerdobs Best Practices voor Power BI

Power BI heeft zich de afgelopen jaren ontwikkeld tot de marktstandaard als het gaat om Reporting en Analytics. De toegankelijkheid en gebruikersvriendelijkheid zijn hoog en de toepassingsgebieden zijn enorm. Power BI biedt data analyse mogelijkheden voor een stand-alone gebruiker maar kan evenwel ingezet worden als Enterprise Business Intelligence platform, grenzeloze mogelijkheden dus! Dit heeft echter ook een keerzijde, als de randvoorwaarden of configuratie van Power BI niet aansluiten bij de wensen van de diverse gebruikersgroepen dan schiet de oplossing alsnog tekort. Een gemiste kans dus! Powerdobs reikt een helpende hand met het opstellen van onze Power BI best practices.

 

Om optimaal gebruik te maken van de mogelijkheden van Power BI hebben we een aantal best practices opgesteld die we de afgelopen jaren bij vele klanten met succes hebben geïntroduceerd. Hieronder vind je een samenvatting.

 

Algemeen

 

Power Query

 

Data modellering

 

Rapportages en visualisaties

 

Content delen

 

(Data) Governance

 

 

 

Powerdobs Power BI Best Practices – details

 

Algemeen

 

Om te beginnen enkele algemene tips:

 

 

Auto date/time in Power BI Desktop

checklist

Zet Auto date/time uit in de opties, zowel in de globale als in de opties voor het huidige bestand. Gebruik deze feature alleen als het voor een specifiek geval noodzakelijk is, gebruik anders altijd een zelf gemaakte datum tabel. Wanneer in het model erg veel datum kolommen zitten kan de grootte van het model enorm worden opgeblazen.

 

 

M en DAX: wat gebruik je waar?

M en DAX zijn 2 verschillende talen: M voor data crunching en DAX voor data analyses. Gebruik ze dus ook daarvoor.

 

 

Import modus boven Direct Query

De Vertipaq engine is specifiek ontworpen om te werken met enorme hoeveelheden data. De standaard modus in Power BI desktop zou dus Import moeten zijn, tenzij er specifieke eisen zijn waarom het beter is om Direct Query te gebruiken. Zo kan het zijn dat de data (bijna) real-time moet zijn, of dat de dataset bij import te groot wordt.

 

 

Scheiding van datamodellen en rapportages

Maak een onderscheid tussen datamodellen en rapportages, dus maak daar twee Power BI Desktop bestanden van. Publiceer de dataset en maak vanuit het rapport een (live) connectie naar die dataset. Op deze manier gebruik je één (shared) dataset en meerdere rapporten

 

 

Gebruik externe tools als DAX Studio en Tabular Editor

Power BI desktop is de standaard tool om Power BI te bedienen. Voor ervaren ontwikkelaars die bijvoorbeeld veel werken met DAX code zijn er enkele plug-ins die het werk gemakkelijker maken. 2 bekende voorbeelden zijn DAX Studio en Tabular Editor.

 

 

Application Lifecycle Management (ALM)

Zorg voor versiebeheer van je PBIX-bestanden en een goed gebruik van workspaces. Op die manier kun je bij problemen na een deployment eenvoudig terug naar een vorige versie van het rapport. Indien nodig kun je deze oplossing opschalen: gebruik voor de OTAP scheiding bijvoorbeeld een workspace en app, of een Dev/Test/Prod workspace, of Deployment Pipelines bij Premium.

 

 

Check de Power BI “known issues” pagina bij problemen

Power BI heeft een known issues pagina met vaak ook een oplossing en/of work-around. Check deze regelmatig, maar in elk geval als je tegen problemen aanloopt.

 

 

Gebruik een Naming Convention

Een naamgevingsconventie (voor bijv. workspaces, dataflows, datasets en apps) zorgt voor betere consistentie, en kan betere leesbaarheid en duidelijkheid van code geven. Daarnaast zorgt het voor betere vindbaarheid van Power BI artifacts, zodat rapportbouwers, eindgebruikers en administrators deze beter kunnen vinden.

 

 

Power Query

Power Query is DE tool binnen het Power BI ecosysteem voor ETL. Hier volgen enkele tips en tricks voor het gebruik van Power Query:

 

 

Tips om M code sneller onder de knie te krijgen

Wanneer je stappen uit de user interface gebruikt wordt automatisch M-code gegenereerd. Probeer deze code regelmatig te bekijken zodat je M sneller en makkelijker eigen maakt.

 

 

Verwijder kolommen die niet worden gebruikt

Verwijder kolommen die niet gebruikt worden zodat rapportages overzichtelijker worden en er geen overbodige data geladen wordt. Kolommen die verwijderd zijn kunnen later weer eenvoudig toegevoegd worden aan het model. Verberg ook kolommen die niet van belang zijn voor eindgebruikers, zoals keys van dimensies.

 

 

Gebruik goede business terminologie, minimaliseer afkortingen

Het is goed om korte en bondige namen te gebruiken, maar sla hier niet in door. Maak kolomnamen in één opslag duidelijk voor eindgebruikers. Stem de taal en evt. afkortingen voor kolommen af op terminologie die binnen de organisatie gebruikelijk is om verwarring of onduidelijkheden te beperken.

 

 

Reorganiseren en consolideren van M-stappen

Een query kan een groot aantal stappen bevatten. Het is aan te raden om queries op te splitsen in meerdere queries (stappen), waarbij de ene query naar de volgende verwijst. Hierdoor is het makkelijker om te begrijpen welke transformaties er hebben plaatsgevonden. Daarnaast is het handig als bepaalde transformaties worden samengevoegd in één stap, bijvoorbeeld filteren of het veranderen van datatypes.

 

 

Houd rekening met Query Folding

Query folding stelt Power BI in staat om een aantal stappen (uitgevoerde transformaties) terug naar de bron te sturen. Dit zorgt er voor dat de performance (m.n. de verversing) van je rapportage verbetert. Query folding werkt het beste wanneer je een connectie hebt met een (relationele) database.

 

 

Gebruik parameters

Met het gebruik van parameters worden queries dynamischer en flexibeler. Alle data connecties, zoals een bestandspad of database naam, kunnen in een parameter opgeslagen worden zodat deze gemakkelijk aangepast kunnen worden zonder de query te wijzigen. Je kunt een parameter aanmaken voor je servernaam en database. Die parameters kunnen dan later in de Power BI Service eenvoudig worden aangepast zonder de dataset opnieuw te hoeven openen.

 

 

Data modellering

Data modellering is een vak op zich, maar er is een aantal uitgangspunten die wij adviseren bij het opzetten van een (nieuw) model. Hieronder de belangrijkste:

 

 

Maak een stermodel

De Vertipaq engine werkt het beste wanneer je gebruik maakt van een stermodel. Het voordeel hiervan is dat berekeningen gedaan kunnen worden op de facttabel en de dimensies gebruikt kunnen worden om te groeperen en filteren. Tevens zijn attributen dan op één plaats in het model opgeslagen, waardoor deze altijd gebruikt kunnen worden om op te filteren.

 

 

Vul lege factkeys in de facttabel met een default waarde

Om problemen met referentiële integriteit te voorkomen, is het beter om een lege (NULL) foreign key te laten verwijzen naar een default row in de dimensietabel. De default row in de dimensietabel kan gevuld worden met een omschrijving als ‘Onbekend’ om aan te geven dat er geen waarde is.

 

 

Voer databewerkingen zoveel mogelijk uit in de database

Om het refreshen van de dataset in Power BI snel te houden, is het beter om bewerkingen op de data, maar ook berekende attributen op record niveau, in de database uit te voeren. In Power BI hoeven dan alleen maar de dimensie- en facttabellen geladen te worden. Daarnaast is de kans ook kleiner dat query folding niet mogelijk is door bepaalde bewerkingen in Power Query.

 

 

Laad alleen views en niet rechtstreeks uit tabellen

Het laden van views in Power BI i.p.v. rechtstreeks op de tabellen heeft een aantal voordelen. De view kan nog gebruikt worden om de data te beperken op bijvoorbeeld datum. In de views kunnen alleen de attributen opgenomen worden, die benodigd zijn in de dataset, terwijl de tabel wellicht meerdere attributen bevat, zoals metadata (tijdstip van laden etc.). Hoe minder data geladen wordt in de dataset in Power BI hoe beter de performance. Tot slot kunnen de attributen in de views al gelijk een logische naam krijgen voor in de rapportages, waardoor het hernoemen in Power BI niet nodig is.

 

 

Rapportages en visualisaties

 

 

Consistentie van scherm layout

Een consistent gebruik van de layout over de verschillende pagina’s, rapportages of dashboards zorgt voor herkenning bij de gebruikers waardoor het overzichtelijker wordt en ook makkelijker in gebruik.

 

 

Gebruik liever grafieken dan tabellen

De juiste grafieken maken de data visueler voor de gebruiker. Door het gebruik van grafieken kunnen makkelijker trends en afwijkingen in kaart gebracht worden, waardoor ze erg geschikt zijn voor rapportages en dashboards.

 

 

Maak gebruik van een slicer panel

Door gebruik te maken van een slicer panel blijft er meer ruimte over voor rapport visualisaties. Op deze manier kunnen gebruikers eenvoudig op meer detail in de data duiken voor bijvoorbeeld een specifieke productgroep, periode of geografisch gebied.

 

 

Gebruik rapport pagina tooltips

Pagina tooltips geven de mogelijkheid om binnen een visual nog extra achtergrond- of detailinformatie toe te voegen voor de gebruiker. Deze tooltips worden zichtbaar wanneer een gebruiker over (een deel van) de visual hovert. Je kunt een aantal measures of kolommen toevoegen, maar ook een tooltip pagina maken om zelfs hele visualisaties in de tooltip te laten zien.

 

 

Gebruik themes en/of een template file voor consistentie van layout

In een theme staan bijvoorbeeld de lettertypes, achtergrondkleuren en het format voor het Filter pane opgeslagen. Door het gebruik van een theme of template file is het daardoor eenvoudig om telkens dezelfde layout op te halen bij een nieuwe pagina of rapport. Je kunt een standaard theme kiezen, maar daarin ook wijzigen aanbrengen en evt. exporteren. Ook kun je themes downloaden vanuit de “Themes gallerij” en kun je eerder opgeslagen themes uploaden.

 

Analytical of paginated reports

Bedenk waar het report wat je gaat bouwen voor gebruikt gaat worden. Als het belangrijk is om dynamisch gebruik van de data te kunnen maken is een analytical report vaak de juiste optie. Maar als je vooral overzicht wilt geven van een ‘platte’ dataset die ook eenvoudig te printen of exporteren moet zijn naar bijvoorbeeld Excel, is een paginated report een betere optie. Voor meer informatie over paginated reports zie: Paginated reports, mooi spul!

 

 

Content delen

 

 

Gebruik workspaces om artifacts te groeperen

Het is een best practice om per domein zoals Finance, Digital, Supply chain etc. artifacts te groeperen in een werkruimte. Over het algemeen heeft maar een beperkt aantal gebruikers toegang tot de volledige werkruimte. Dit zijn met name de analisten en de beheerders. De overige gebruikers zien de content via een App (zie de volgende best practice). In een werkruimte kan je vier verschillende rollen toekennen: admin, member, contributor en viewer.

 

 

Distribueer content via Power BI apps naar de eindgebruikers

Een app werkt erg goed voor de distributie van content naar de gebruikers. Dit is een alternatief voor directe werkruimte toegang. De Power BI app geeft de beste ervaring voor gebruikers omdat het een bepaalde set van gerelateerde content met een gebruiksvriendelijke navigatie presenteert. Tevens is het mogelijk andere content, zoals video’s, documenten of (interne) websites, ter documentatie en uitleg toe te voegen. Verder is het voordeel bij gebruik van Premium capaciteit dat gebruikers met een gratis licentie gebruik kunnen maken van de app.

 

 

Gebruik (security) groups om gebruikers toe te voegen aan workspaces en apps

Op basis van de functie in de organisatie kan een gebruiker toegevoegd worden aan een of meerdere security groups in Active Directory (AD). Het is een best practice de gebruikers toegang te geven tot een rapportage, werkruimte, of app via een (security) groep in AD. Bij de start van een nieuwe medewerker kan deze automatisch worden toegevoegd aan de juiste groepen op basis van de functie en/of afdeling.

 

 

Gebruik Deployment Pipelines (indien Premium)

Deployment Pipelines is een Power BI tool die beschikbaar is bij een Premium capaciteit. Deze tool is ontworpen als een pijplijn met 3 stages: Ontwikkel, Test, Productie. Deployment Pipelines geeft meer controle over (het managen en verhuizen van) content in workspaces.

 

 

(Data) Governance

 

 

Tenant settings

Documenteer de tenant settings, zoals Publish to Web en de verschillende Export to … settings, zorg dat je bewuste keuzes maakt voor elke mogelijkheid en communiceer deze keuze ook met de gebruikers. Daarnaast kun je ook notificaties aanzetten bij wijzigingen van deze settings, bijv. met Microsoft Defender for Cloud Apps.

 

 

Maak gebruik van de Power BI Activity log

Start met het exporteren van data uit de Power BI Activity log, deze wordt na 90 dagen nl. verwijderd. Daarna kun je deze data gebruiken om rapporten te maken en inzichten te verkrijgen. Op die manier krijg je inzicht in het aantal workspaces, datasets, rapporten, apps en ook het gebruik hiervan.

 

 

Data security

Inventariseer of het nodig is Microsoft Purview Information Protection in te zetten. Dit kan gebruikt worden om sensitivity labels op bepaalde tabellen of kolommen van je data te zetten waardoor deze beveiligd wordt. Purview kan daarnaast gebruikt worden om de data lineage in kaart te brengen.

 

 

Gecertificeerde artifacts & de self-service mindset

Er zijn 2 manieren om inhoud in Power BI goed te keuren: promotie en certificering. Dit is mogelijk bij datasets, dataflows, reports en apps. Op deze manier is inhoud beter vindbaar, en weten gebruikers dat deze inhoud voldoet aan de kwaliteitsnormen van de organisatie.

 

 

Review het adoption/governance framework

Gebruik het Microsoft (Power BI) adoption en governance framework om de huidige stand van zaken te analyseren en bekijken welke stappen moeten worden genomen voor een volgend volwassenheidsniveau.

 

 

Deze blog zal regelmatig worden bijgewerkt met de nieuwste inzichten en ontwikkelingen, ook zullen er links naar detail posts worden aangevuld waarbij we dieper ingaan op de bovengenoemde best practices. Kom dus regelmatig hier terug en maak een bookmark van deze pagina!

 

Heb je nog vragen, neem dan gerust contact met ons op!

 

Nicky van Vroenhoven

Microsoft Data Platform MVP, Blogger, Speaker