Gegevensbron verbindingsreeks s wijzigen in Power BI-rapporten met PowerShell - Power BI Report Server
We maken het mogelijk om verbindingen voor Power BI-rapporten bij te werken voor DirectQuery en vernieuwen.
Belangrijk
Dit is ook een belangrijke wijziging in de wijze waarop u dit in eerdere versies kunt instellen. Als u een power BI Report Server-versie van vóór oktober 2020 gebruikt, raadpleegt u Gegevensbron wijzigen verbindingsreeks s in Power BI-rapporten met PowerShell - Power BI Report Server vóór oktober 2020
Vereisten
- Download de nieuwste versie van Power BI Report Server en Power BI Desktop voor Power BI Report Server.
- Een rapport dat is opgeslagen met de release van oktober 2020 of hoger van Power BI Desktop die is geoptimaliseerd voor Report Server, met verbeterde gegevenssetmetagegevens ingeschakeld.
- Een rapport dat gebruikmaakt van geparameteriseerde verbindingen. Alleen rapporten met geparameteriseerde verbindingen en databases kunnen na publicatie worden bijgewerkt.
- In dit voorbeeld worden de PowerShell-hulpprogramma's van Reporting Services gebruikt. U kunt hetzelfde bereiken met behulp van de nieuwe REST API's.
Een rapport maken met geparameteriseerde verbindingen
Maak een SQL Server-verbinding met een server. In het onderstaande voorbeeld maken we verbinding met de localhost met een database met de naam ReportServer en halen we gegevens op uit ExecutionLog.
Zo ziet de M-query er op dit moment uit:
let Source = Sql.Database("localhost", "ReportServer"), dbo_ExecutionLog3 = Source{[Schema="dbo",Item="ExecutionLog3"]}[Data] in dbo_ExecutionLog3
Selecteer Parameters beheren op het lint Power Query-editor.
Maak parameters voor de servernaam en databasenaam.
Bewerk de query voor de eerste verbinding en wijs de database en servernaam toe.
De query ziet er nu als volgt uit:
let Source = Sql.Database(ServerName, Databasename), dbo_ExecutionLog3 = Source{[Schema="dbo",Item="ExecutionLog3"]}[Data] in dbo_ExecutionLog3
- Publiceer dat rapport naar de server. In dit voorbeeld heet het rapport executionlogparameter. De volgende afbeelding is een voorbeeld van een beheerpagina voor gegevensbronnen.
Parameters bijwerken met de PowerShell-hulpprogramma's
Open PowerShell en installeer de nieuwste Reporting Services-hulpprogramma's en volg de instructies op https://github.com/microsoft/ReportingServicesTools.
Als u de parameter voor het rapport wilt ophalen, gebruikt u de nieuwe REST DataModelParameters-API met behulp van de volgende PowerShell-aanroep:
Get-RsRestItemDataModelParameters '/executionlogparameter' Name Value ---- ----- ServerName localhost Databasename ReportServer
We slaan het resultaat van deze aanroep op in een variabele:
$parameters = Get-RsRestItemDataModelParameters '/executionlogparameter'
Wijs een woordenlijst toe om toegang te krijgen tot de parameterwaarden.
$parameterdictionary = @{} foreach ($parameter in $parameters) { $parameterdictionary.Add($parameter.Name, $parameter); }
Deze variabele wordt bijgewerkt met de waarden die we moeten wijzigen.
Werk de waarden van de gewenste parameters bij:
$parameterdictionary[“ServerName”].Value = 'myproductionserver' $parameterdictionary[“Databasename”].Value = 'myproductiondatabase'
Met de bijgewerkte waarden kunnen we de commandlet
Set-RsRestItemDataModelParameters
gebruiken om de waarden op de server bij te werken:Set-RsRestItemDataModelParameters -RsItem '/executionlogparameter' -DataModelParameters $parameters $parameterdictionary.Values
Zodra de parameters zijn bijgewerkt, werkt de server alle gegevensbronnen bij die zijn gebonden aan de parameters. Als u teruggaat naar het dialoogvenster Gegevensbron bewerken, moet u referenties kunnen instellen voor de bijgewerkte server en database.
Gerelateerde inhoud
Meer vragen? Vraag het Power BI-community