Share via


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

  1. 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.

    Connect to the SQL Server database

    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
    
  2. Selecteer Parameters beheren op het lint Power Query-editor.

    Select Manage Parameters

  3. Maak parameters voor de servernaam en databasenaam.

    Manage Parameters, set servername and databasename.

  4. Bewerk de query voor de eerste verbinding en wijs de database en servernaam toe.

    Map the Server and Database name

    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
    
    1. Publiceer dat rapport naar de server. In dit voorbeeld heet het rapport executionlogparameter. De volgende afbeelding is een voorbeeld van een beheerpagina voor gegevensbronnen.

    The data source management page.

Parameters bijwerken met de PowerShell-hulpprogramma's

  1. Open PowerShell en installeer de nieuwste Reporting Services-hulpprogramma's en volg de instructies op https://github.com/microsoft/ReportingServicesTools.

  2. 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
    
  3. We slaan het resultaat van deze aanroep op in een variabele:

    $parameters = Get-RsRestItemDataModelParameters '/executionlogparameter'
    
  4. Wijs een woordenlijst toe om toegang te krijgen tot de parameterwaarden.

    $parameterdictionary = @{}
    foreach ($parameter in $parameters) { $parameterdictionary.Add($parameter.Name, $parameter); }
    
    
  5. Deze variabele wordt bijgewerkt met de waarden die we moeten wijzigen.

  6. Werk de waarden van de gewenste parameters bij:

    $parameterdictionary[“ServerName”].Value = 'myproductionserver'
    $parameterdictionary[“Databasename”].Value = 'myproductiondatabase'
    
  7. 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
    
  8. 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.

    Set credentials for the updated server and database.

Meer vragen? Vraag het Power BI-community