Delen via


Verbindingsreeksen voor gegevensbronnen 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 vernieuwing.

Belangrijk

Dit is ook een belangrijke wijziging in de wijze waarop u dit in eerdere versies kunt instellen.

Vereiste voorwaarden

  • Download de nieuwste versie van Power BI Report Server en Power BI Desktop voor Power BI Report Server.
  • Een rapport dat is opgeslagen met Power BI Desktop, geoptimaliseerd voor Report Server, met verbeterde gegevenssetmetadata 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.

    Schermopname van Verbinding maken met de 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 van de Power Query-editor.

    Schermopname die laat zien hoe de optie 'Beheer Parameters' wordt geselecteerd.

  3. Maak parameters voor de servernaam en databasenaam.

    Schermopname waarin

  4. Bewerk de query voor de eerste verbinding en koppel de database en de servernaam.

    Schermopname waarop de server- en databasenaam worden toegewezen.

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

    De beheerpagina van de gegevensbron.

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.

    Schermopname van het instellen van de referenties voor de bijgewerkte server en database.

Meer vragen? Probeer het aan de Power BI-community te vragen