Een bestand wordt verplaatst, een nieuwe server of database gebruikt, de bestandsnaam verandert,….
Er zijn zoveel manieren waarop een connectie in Power BI plots kan falen of waarop je ze moet aanpassen in afwachting van een wijziging. Geen probleem als je maar een paar queries hebt, maar wat als dat aantal hoger ligt?
Dat is precies wat ik wil vermijden, want ik doe niet graag repetitief werk als het niet moet. Ik vermoed dat ik niet de enige ben en dat anderen ook minder willen werken. Nee, sorry, efficiënter.
Ik gebruik meestal 2 methodes, afhankelijk van de specifieke opzet van het model. De ene is parameters gebruiken, de andere een source-query. Beide kunnen apart of in combinatie worden gebruikt.
Laten we eerst kijken hoe het er allemaal uitziet zonder enige setup.
Setup zonder parameter en bronbestand
Als voorbeeld heb ik een lijst gemaakt van alle schermdoden van Sean Bean, wat me één fact en 3 dimensies oplevert, niet veel maar genoeg om het punt te maken.
Hieronder zie je dat dit ons een klein star schema oplevert, maak trouwens altijd een star schema, het kan niet genoeg gezegd worden.
Zoals veel mensen doen, begon ik met 'snel werken' en dupliceerde ik de query om ze aan te passen voor elke tabel die ik nodig had. Elk van de 4 tabellen begint met een link naar de bron, zoals je hieronder ziet.
Dit werkt, we zijn klaar.
Behalve wanneer we om een of andere reden de bron moeten wijzigen. Ik moet die wijziging nu in elke query die ik heb gemaakt doorvoeren. Omdat ik lui efficiënt ben, kies ik graag voor een andere oplossing.
Parameter
Een manier om dit te doen is door een parameter te gebruiken die de locatie van het bestand bevat.
Eerst moeten we een parameter aanmaken, dat doe je door op de knop 'manage parameters' te klikken
Hier klik je op 'New', waaraan je een beschrijvende naam en eventueel een beschrijving geeft. Vergeet niet het type op 'Text' te zetten, anders loop je mogelijk tegen problemen aan wanneer je het na publicatie wil wijzigen.
Nu we de parameter hebben, gaan we naar de bron in onze queries en vervangen we het bestand door de parameter. Vanaf nu, als we de locatie in de parameter wijzigen, wordt die automatisch aangepast in elke query waar we dit doen.
Bronbestand gebruiken
In het geval van de doden van Sean Bean werk ik vanuit één bestand en bouw ik mijn star schema door daaruit de fact en dimensies te halen. Dat betekent dat ik nu nog een andere truc kan gebruiken.
We willen op dezelfde manier eindigen als voordien, met onze 4 tabellen. Je kunt bestaande tabellen gebruiken en alles herwerken om in deze opzet te passen, maar het is makkelijker als je het van bij het begin doet.
We beginnen met het inladen van het bestand, net als voordien. We starten met alle wijzigingen die voor alle queries gelden. In het geval van Sean Bean splitsen we de kolom 'filmtitel (jaar van uitgave)' in twee aparte kolommen. Dit kan resulteren in veel stappen voor je verdergaat, of in enkel de connectie met het bestand.
Om ervoor te zorgen dat dit bronbestand niet in het rapport verschijnt, moeten we 'Enable load to report' uitschakelen. We willen de tabellen voor het rapport hieruit halen, niet het bestand rechtstreeks gebruiken.
Zodra dat gebeurd is, kunnen we naar deze tabel refereren in plaats van ze te dupliceren. Dat betekent dat alle toegepaste stappen in deze source-query ook worden toegepast in de volgende queries.
Op de fact-tabel worden geen andere stappen toegepast, maar de dimensies hebben er een paar extra. Het grote voordeel is nu dat je de connectie in de source-query kunt wijzigen en dat deze wijziging wordt doorgegeven aan de andere queries, wat het opnieuw makkelijker maakt om de connectie te wijzigen.
Beide combineren
We zagen nu 2 trucs om het makkelijker te maken een connectie in onze queries te wijzigen, maar niets houdt ons tegen om de 2 te combineren tot één eenvoudige oplossing. De source-query-oplossing zorgt ervoor dat we de connectie maar één keer hoeven te controleren als we ze ooit moeten debuggen, en de parameter biedt een eenvoudige manier om de connectiegegevens indien nodig aan te passen.
Moet je deze volledige opzet gebruiken telkens je een Power BI-model maakt? Natuurlijk niet, het is altijd het beste om elke situatie apart te evalueren en een beslissing te nemen op basis van je inschatting. In de meeste gevallen met één bestand als bron gebruik ik enkel de optie met de source-query. De parameters gebruik ik vaker wanneer ik verwacht dat de connectie zou kunnen wijzigen.
Dit zijn eenvoudige trucs zodra je ze onder de knie hebt en ze maken je leven absoluut makkelijker als je ze in je gewoontes opneemt. Kleine wijzigingen met grote impact, zo impactvol als, wel, de pijlen in Sean Beans favoriete sterfscène:
OVER DE AUTEURS
Jo David
Power BI expert & BI Consultant
Ontdek meer content op onze blog

Waarom we Sparkle heten
Vóór een goede beslissing komt een inzicht. Vóór een inzicht komt een spark. Het verhaal achter de naam op de deur.

Medallion-architectuur
Een gelaagd data-designpatroon dat ruwe data stap voor stap verfijnt tot schone, business-ready inzichten, via de lagen Bronze, Silver en Gold.

Budgetten horen nu thuis in je dataplatform
Planning in Fabric IQ is de nieuwste capaciteit van Microsoft, en het wijst op een echte verschuiving in hoe organisaties kunnen denken over de relatie tussen analytics en planning.

Sparkle maakt nu deel uit van de Estse Microsoft Fabric-gebruikersgroep
De Estonian Microsoft Fabric User Group is een plek waar mensen samenkomen om echte data-engineering- en architectuuruitdagingen aan te pakken met Microsoft Fabric.

Klantcase: Nabuminds migreert naar Microsoft Fabric-platform
De overstap van gefragmenteerde, tenant-gebaseerde BI naar een uniform platform leverde snellere inzichten, sterkere governance en toekomstklare analyticscapaciteiten op.

De puntjes verbinden: Neo4j graph intelligence in Microsoft Fabric
Microsoft Fabric verenigt data engineering, analytics en AI over het Microsoft-ecosysteem heen.
Maar veel businessproblemen zoals fraudedetectie, customer 360 en supply-chain-optimalisatie hangen niet af van afzonderlijke datapunten, maar van hoe die punten met elkaar verbonden zijn.




