Bij ons gaat het altijd over groei. Er gaat geen gesprek voorbij zonder dat woord. Gelukkig betekent groei niet altijd groter in kwantitatieve zin. We zijn gek op resultaat, dat zeker. Die ambitie wordt inderdaad alleen maar groter.
In mijn zesde blog over Power BI in de praktijk van Kasparov BI (en de eerste in de nieuwe serie ‘Power BI – het vervolg’) wil ik het graag hebben over hoe je een data-foutmelding oplost in Power BI. Ook nu weer: voer voor vakgenoten, voel je vrij om feedback te geven of vragen te stellen. Dit is altijd welkom!
Stel: Er is een prachtig dashboard gecreëerd, maar volgens de eindgebruiker klopt de data niet. De oorzaak is onduidelijk, het kan aan meerdere factoren liggen. Zo kan bijvoorbeeld de onderliggende data onjuist zijn, een externe factor zoals een pagina filter of een verkeerd gekozen visualisatie heeft een negatieve invloed, er zit een fout in een berekening, het datamodel heeft een foutieve relatie, of er is een foutieve stap toegevoegd in M-Query.
Dit artikel beschrijft hoe je op een gestructureerde manier een foutmelding kunt oplossen. Het volgt de ‘6 stappen van Power BI’ van achteren naar voren, aangevuld met tips & tricks. Ken je de stappen niet, dan is het handig eerst de Introductie van Power BI te lezen: https://kasparov-bi.nl/ of https://bi-inside.com. Een korte samenvatting staat onder dit artikel.
Voor het oplossen van een foutmelding is het belangrijk om de stappen van Power BI in omgekeerde volgorde te doorlopen. Men heeft dan de mogelijkheid om elke stap te onderzoeken en mogelijke fouten te definiëren. Controleer per stap de gemaakte keuzes en de aansluiting van deze keuzes met voorgaande stappen.
Definieer vooraf het juiste of verwachte resultaat bij de eindgebruiker. Dit zal helpen met het onderzoek.
Hieronder volgt een stappenplan met controles die uitgevoerd kunnen worden in het proces van foutoplossing.
Begin met het een voor een verwijderen van alle pagina en visualisatie filters. Dit is belangrijk, omdat het uitsluit dat de foutmelding wordt veroorzaakt door een externe factor, zoals een visualisatie of pagina filter. Begin zonder externe factoren aan het proces.
Aan het eind van dit stappenplan worden alle filters weer teruggezet om te zien of die de data beïnvloeden. Het proces is dan onderzocht zonder externe factoren.
Wordt er gebruik gemaakt van de ‘import modus’, onderzoek dan of de data (volledig) is ingeladen in Power BI. Maak bijvoorbeeld een aansluiting van het aantal regels.
Voor het oplossen van een foutmelding is het belangrijk om de juiste visualisatie te kiezen. Dashboards met staaf- en cirkeldiagrammen zijn niet efficiënt voor het oplossen van foutmeldingen, want deze vorm van visualisatie zorgt voor minder zicht op onderliggende data zoals categorieën en totalen.
Houd de stelselregel aan: Als de data niet goed uitkomt in een matrix, dan komt het ook niet goed uit in een andere visualisatie.
Het is van belang om de berekening of data in een matrix-visualisatie te plaatsen. De data en totalen kunnen dan worden gecontroleerd op basis van categorieën. De data in een matrix plaatsen, geeft vaak al een eerste inzicht in waar de foutmelding zich kan bevinden.
Houd er rekening mee dat sommige visualisaties, zoals een cirkeldiagram, geen negatieve waarden ondersteunen. Daarnaast kan conditionele formatting ook invloed hebben op zichtbaarheid van data.
Een DAX-berekening bestaat vaak uit meerdere variabelen of gerefereerde berekeningen. Als in de voorgaande stap ‘visualisatie’ een matrix is gekozen, dan kan de berekening volledig worden uitgeschreven. Het is namelijk goed mogelijk dat ‘variabelen’ niet werkt of de foutmelding voorkomt in een voorgaande berekening.
Houd de volgende stelselregel aan: Probeer de berekening uit te schrijven in behapbare en begrijpbare onderdelen en controleer elk onderdeel apart.
Oplossingsmogelijkheden
Onthoud wel dat een variabele slechts één keer wordt berekend. Alles wat (herhalende) rijcontext vereist, zoals de functionaliteit Sumx, zal niet werken. Dit geldt ook als een rijcontext functionaliteit is gebruikt in de lineage van de berekening.
Als de oorzaak niet ligt bij externe factoren, het gebruik van de verkeerde visualisatie of de DAX-berekeningen, kan die mogelijk liggen in het datamodel. Het gebruik van bi-directionele relaties of onvolledigheid van tussentabellen, kan disruptie veroorzaken in het pad dat Power BI aflegt om tot de juiste data te komen. Het is dan ook zeer belangrijk om het datamodel in te richten volgens de best practices.
Houd de volgende stelselregel aan: Controleer het datamodel op bi-directionele relaties, de volledigheid van tussentabellen of andere afwijkende zaken.
Oplossingmogelijkheden
De laatste stap vóór de daadwerkelijke data is de Power Query stap. Deze stap word gebruikt om de data uit de datasource te transformeren naar ‘Power BI waardig’. Het kan goed zijn dat deze transformatie ervoor heeft gezorgd dat de data niet juist is.
Oplossingsmogelijkheden
Controleer de Power Query door te navigeren naar de M-Query stap, waar de meest rauwe data staat. Verklein vervolgens de datasource d.m.v. filters. Loop daarna door de stappen, dan wordt vanzelf duidelijk welke stap uit M-query moet worden gewijzigd of verwijderd.
Tip! Verborgen spaties kunnen worden opgelost met de trim-functie.
Als de bovenstaande stappen de fout niet oplossen, is het waarschijnlijk dat de fout in de databron zelf optreedt. Het is dan raadzaam om contact op te nemen met de eigenaar van de databron en in overleg uit te zoeken of die kan worden aangepast.
Bij de ontwikkeling van een dashboard loopt de Power BI Consultant door een aantal stappen.
1. Data – De mate van flexibiliteit van de data staat gelijk aan het risico waar het mee gepaard gaat!
Om te kunnen starten met Microsoft Power BI is het belangrijk om vooraf na te denken over de databron en rekening te houden met het volgende: De mate van flexibiliteit van de data staat gelijk aan het risico waar het mee gepaard gaat!
2. Power Query – Een laatste data-voorbereiding!
Het doel van Power Query is om de data uit de gegevensbron Power BI waardig te maken. Het word aangeraden om dit grotendeels in de databron zelf te laten plaatsvinden, maar het zou heel goed kunnen dat niet elke actie hier uitgevoerd kan worden. In Power Query kan men bijvoorbeeld gegevensbronnen combineren, logica toevoegen en functionele wijzigingen aanbrengen.
3. Model – Probeer een weg te creëren waar Power BI zo efficiënt mogelijk op kan navigeren.
Het is van belang om het datamodel zo efficiënt mogelijk in te richten. Verdeel de verschillende tabellen in dimensie- en feitentabellen. Kies voor een-op-veel relaties en probeer beide – op beide relaties te vermijden.
Probeer een weg te creëren waar Power BI zo efficiënt mogelijk op kan navigeren.
4. DAX – Berekeningen zoals we ze kennen uit Excel!
DAX is de programmeertaal van Power BI. Het kan worden vergeleken met formules die in Excel worden gebruikt. Er zijn veel verschillende functionaliteiten en manieren om DAX te schrijven en het is aan te raden om wat onderzoek te doen naar de belangrijkste. DAX-codes worden gebruikt om berekeningen te maken zoals sommen, delen, opzoekingen enz.
5. Visualisatie – Creëer de inzichten die je nodig hebt!
Naast een berekening om de som van de kolom […] te berekenen, is er ook een visualisatie nodig om het resultaat te tonen. Power BI kent veel verschillende visualisaties en iedere visualisatie heeft zijn specifieke doel. Een staafdiagram is bijvoorbeeld erg handig om een verschil in opzoekwaarden weer te geven.
Er word geadviseerd om vooraf na te denken over het te creëren dashboard. Als men vooraf een ontwerp maakt van het dashboard, dan kan men hier beter zijn datamodel en DAX berekeningen op afstemmen.
6. Power BI service
In de Power BI-service kan men rapporten publiceren, zodat het beschikbaar is voor eindgebruikers. Hier kan ook beveiliging worden toegevoegd, zodat eindgebruikers alleen specifieke gegevens te zien krijgen. Power BI-service is het eindstation van een Power BI-ontwikkeling en heeft als doel het gepresenteerde dashboard te presenteren en te gebruiken.