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
- Auto date/time in Power BI Desktop
- M en DAX: wat gebruik je waar?
- Import modus boven Direct Query
- Scheiding van datamodellen en rapportages
- Gebruik externe tools zoals DAX Studio en Tabular Editor
- Application Lifecycle Management (ALM)
- Check de Power BI “known issues” pagina bij problemen
- Gebruik een Naming Convention
- Powerdobs BI Health Scan
- Power BI Performance optimizer
- Powerdobs Micro Cloud voor het MKB
Power Query
- Tips om M code sneller onder de knie te krijgen
- Verwijder kolommen die niet worden gebruikt
- Gebruik goede business terminologie, minimaliseer afkortingen
- Reorganiseren en consolideren van M-stappen
- Houd rekening met query folding
- Gebruik parameters
Data modellering
- Maak een stermodel
- Vul lege factkeys in de facttabel met een default waarde
- Voer databewerkingen zoveel mogelijk uit in de bron
- Laad alleen views en niet rechtstreeks uit tabellen
Rapportages en visualisaties
- Consistentie van scherm layout
- Gebruik liever grafieken dan tabellen
- Maak gebruik van een slicer panel
- Gebruik rapport pagina tooltips
- Gebruik themes en/of een template file voor consistentie van layout
- Analytical of paginated reports?
Content delen
- Gebruik workspaces om artifacts te groeperen
- Distribueer content via Power BI apps naar de eindgebruikers
- Gebruik (security) groups om gebruikers toe te voegen aan workspaces en apps
- Gebruik Deployment Pipelines (indien Premium)
(Data) Governance
- Tenant settings
- Maak gebruik van de Power BI Activity log
- Data security
- Gecertificeerde artifacts & de self-service mindset
- Review het adoption/governance framework
Powerdobs Power BI Best Practices – details
Algemeen
Om te beginnen enkele algemene tips:
Auto date/time in Power BI Desktop
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!