Power BI-parameters zijn variabelen die je definieert in Power Query en die je kunt gebruiken om databronnen, filters of verbindingsstrings per situatie aan te passen. Door één rapportsjabloon te combineren met parameters, bedien je meerdere klanten met dezelfde rapportstructuur zonder het rapport te dupliceren. Voor grotere aantallen klanten combineer je parameters met Row-Level Security voor automatische filtering.
Als je voor meerdere klanten Power BI-rapporten beheert, stuit je vroeg of laat op het schaalprobleem: tien klanten betekent tien rapporten, tien databronnen en tien keer onderhoud bij elke wijziging. Parameters bieden een elegante oplossing.
Wat zijn Power BI-parameters?
Parameters zijn variabelen die je definieert in Power Query, de laadlaag van Power BI. Ze functioneren als instelbare waarden die je kunt gebruiken in query’s, verbindingsstrings, bestandspaden of filterexpressies.
Een eenvoudig voorbeeld: in plaats van een SQL-query die specifiek filtert op KlantNaam = 'Acme B.V.', maak je een parameter KlantNaam aan en gebruik je die in de query. Door de parameterwaarde te wisselen naar 'Beta Corp', laadt Power BI automatisch de data van Beta Corp in hetzelfde rapport.
Praktisch voorbeeld: accountant met 20 klanten
Stel dat je als accountant maandelijkse financiële dashboards levert aan 20 mkb-klanten. Elke klant levert een gestandaardiseerde export uit zijn boekhoudsoftware aan als CSV-bestand. De structuur is identiek: grootboekrekeningen, periodes, bedragen.
Zonder parameters bouw je 20 rapporten. Met parameters bouw je er één.
Stap 1: Parameter aanmaken
- Open het rapport in Power BI Desktop
- Ga naar Home → Transform data → Manage Parameters
- Klik op New en maak een parameter
KlantMapaan van het typeText - Stel de standaardwaarde in, bijvoorbeeld
C:\Klanten\Acme
Stap 2: Parameter gebruiken in Power Query
In de Power Query-editor pas je de bron van je CSV-query aan:
Source = Csv.Document(File.Contents(KlantMap & "\export.csv"), ...)
Alle klantspecifieke data laadt nu vanuit de map die in de parameter staat.
Stap 3: Publiceren met de juiste parameterwaarden
In Power BI Service kun je via Dataset-instellingen → Parameters de waarden aanpassen zonder het rapport opnieuw te publiceren. Stel per klant de juiste maplocatie of databasenaam in.
Combinatie met Row-Level Security
Parameters wisselen de databron. Row-Level Security filtert de data voor ingelogde gebruikers. De twee zijn complementair:
- Parameters zijn handig als elke klant een aparte databron heeft (eigen database, eigen bestandspad)
- RLS is handig als alle klantdata in één dataset zit en je wilt bepalen wie wat mag zien
Voor grote aantallen klanten (meer dan 10) is dynamische RLS met een mappingtabel efficiënter dan parameters per klant. Je hoeft dan niet voor elke klant apart de parameterwaarden in te stellen. Meer hierover in ons artikel over rapportage als dienst.
Wanneer zijn parameters zinvoller dan aparte rapporten?
Parameters hebben voordelen in specifieke situaties:
Gebruik parameters als:
- alle klanten dezelfde rapportstructuur en KPI’s krijgen
- de databron per klant verschilt maar de structuur identiek is
- je snel tussen klantweergaven wilt kunnen wisselen voor beheer en QA
Bouw aparte rapporten als:
- klanten fundamenteel andere KPI’s of lay-outs nodig hebben
- de visuele opmaak of navigatie per klant verschilt
- klanten het gevoel willen dat ze iets unieks hebben
In de praktijk combineer je beide: een gestandaardiseerd sjabloon met parameters voor de databron, en kleine visuele aanpassingen (logo, kleuren) per klant voor de uitstraling.
Onderhoud op schaal
Het grootste voordeel van één sjabloon is onderhoud. Wanneer je een nieuwe KPI toevoegt of een berekening aanpast, pas je het één keer aan en alle klanten profiteren ervan bij de volgende refresh. Met twintig aparte rapporten is datzelfde onderhoud twintig keer handmatig werk.
Koppel dit model aan beveiligde klantportalen via een oplossing zoals Shareboard BI, en je hebt een schaalbare rapportagedienst waarbij klanten altijd actuele data inzien zonder dat jij voor elke klant handmatig iets hoeft te doen. Kijk ook welke KPI’s je per klanttype rapporteert in ons artikel over KPI-selectie per klant.
Tip: Maak een naamgevingsconventie voor parameters voordat je begint. Gebruik consistente namen zoals
KlantID,DatabaseNaamenRapportPeriode. Dat maakt het sjabloon begrijpelijk voor collega’s die het later beheren.
Veelgestelde vragen
Wat is het verschil tussen Power BI-parameters en Row-Level Security?
Parameters beïnvloeden de datalaadstap: ze bepalen welke data Power Query inleest. RLS filtert de data nadat die is geladen: het beperkt wat een ingelogde gebruiker te zien krijgt. Parameters zijn handig voor het wisselen van databron of klantspecifieke instellingen. RLS is de aangewezen methode om meerdere gebruikers in hetzelfde rapport afgeschermde toegang te geven.
Kan ik parameters gebruiken om te wisselen tussen klantdatabases?
Ja. Je kunt een parameter definiëren voor de servernaam of databasenaam in een SQL Server-verbinding. Bij het wisselen van de parameterwaarde laadt Power BI de data uit een andere database. Dit werkt goed als alle klanten dezelfde databasestructuur hebben, bijvoorbeeld bij een multi-tenant applicatie.
Kunnen parameters worden gewijzigd door eindgebruikers?
Nee. Parameters worden ingesteld door de rapportbouwer in Power BI Desktop of via de dataset-instellingen in Power BI Service. Eindgebruikers kunnen parameters niet zelf aanpassen. Als je dynamisch filteren wilt voor eindgebruikers, gebruik je slicers of RLS.
Hoe sla ik verschillende parameterwaarden op per klant?
Eén aanpak is een deploymentscript per klant: voor elke klant publiceer je het rapport met de juiste parameterwaarden. Een andere aanpak is dynamische RLS met een mappingtabel, waarbij de ingelogde gebruiker automatisch de juiste data te zien krijgt. Welke aanpak je kiest hangt af van of klanten hetzelfde rapport of aparte instanties krijgen.
Werkt dit ook met Excel-bestanden als databron?
Ja. Je kunt een parameter maken voor het bestandspad of de bestandsnaam. Power Query laadt dan het Excel-bestand op het opgegeven pad. Handig als elke klant een eigen gestandaardiseerde export aanlevert. Nadeel: de aanpak is gevoelig voor wijzigingen in bestandsnamen of opslaglocaties. Directe database- of API-verbindingen zijn stabieler voor productiegebruik.