Ändra datakällans anslutningssträng i Power BI-rapporter med PowerShell – Power BI-rapportserver
Vi gör det möjligt att uppdatera anslutningar för Power BI-rapporter för DirectQuery och uppdatera.
Viktigt!
Det här är också en icke-bakåtkompatibel ändring av hur du kan konfigurera detta i tidigare versioner. Om du använder en version av Power BI-rapportserver före oktober 2020 läser du Ändra anslutningssträng för datakällor i Power BI-rapporter med PowerShell – Power BI-rapportserver före oktober 2020
Förutsättningar
- Ladda ned den senaste versionen av Power BI-rapportserver och Power BI Desktop för Power BI-rapportserver.
- En rapport som sparats med oktober 2020 eller senare versionen av Power BI Desktop optimerad för rapportserver, med utökade datauppsättningsmetadata aktiverade.
- En rapport som använder parametriserade anslutningar. Endast rapporter med parametriserade anslutningar och databaser kan uppdateras efter publiceringen.
- I det här exemplet används PowerShell-verktygen för Reporting Services. Du kan uppnå samma sak med hjälp av de nya REST-API:erna.
Skapa en rapport med parametriserade anslutningar
Skapa en SQL Server-anslutning till en server. I exemplet nedan ansluter vi till localhost till en databas med namnet ReportServer och hämtar data från ExecutionLog.
Så här ser M-frågan ut just nu:
let Source = Sql.Database("localhost", "ReportServer"), dbo_ExecutionLog3 = Source{[Schema="dbo",Item="ExecutionLog3"]}[Data] in dbo_ExecutionLog3
Välj Hantera parametrar i menyfliksområdet Power Query-redigeraren.
Skapa parametrar för servernamn och databasnamn.
Redigera frågan för den första anslutningen och mappa databasen och servernamnet.
Nu ser frågan ut så här:
let Source = Sql.Database(ServerName, Databasename), dbo_ExecutionLog3 = Source{[Schema="dbo",Item="ExecutionLog3"]}[Data] in dbo_ExecutionLog3
- Publicera rapporten på servern. I det här exemplet heter rapporten executionlogparameter. Följande bild är ett exempel på en sida för hantering av datakällor.
Uppdatera parametrar med hjälp av PowerShell-verktygen
Öppna PowerShell och installera de senaste Reporting Services-verktygen enligt anvisningarna på https://github.com/microsoft/ReportingServicesTools.
Om du vill hämta parametern för rapporten använder du det nya REST DataModelParameters-API:et med följande PowerShell-anrop:
Get-RsRestItemDataModelParameters '/executionlogparameter' Name Value ---- ----- ServerName localhost Databasename ReportServer
Vi sparar resultatet av det här anropet i en variabel:
$parameters = Get-RsRestItemDataModelParameters '/executionlogparameter'
Mappa till en ordlista för att komma åt parametervärdena.
$parameterdictionary = @{} foreach ($parameter in $parameters) { $parameterdictionary.Add($parameter.Name, $parameter); }
Den här variabeln uppdateras med de värden som vi behöver ändra.
Uppdatera värdena för de önskade parametrarna:
$parameterdictionary[“ServerName”].Value = 'myproductionserver' $parameterdictionary[“Databasename”].Value = 'myproductiondatabase'
Med de uppdaterade värdena kan vi använda kommandoleten
Set-RsRestItemDataModelParameters
för att uppdatera värdena på servern:Set-RsRestItemDataModelParameters -RsItem '/executionlogparameter' -DataModelParameters $parameters $parameterdictionary.Values
När parametrarna har uppdaterats uppdaterar servern alla datakällor som var bundna till parametrarna. Om du går tillbaka till dialogrutan Redigera datakälla bör du kunna ange autentiseringsuppgifter för den uppdaterade servern och databasen.
Relaterat innehåll
Har du fler frågor? Prova att fråga Power BI Community