Teilen über


Ändern von Datenquellen-Verbindungszeichenfolgen in Power BI-Berichten mithilfe von PowerShell – Power BI-Berichtsserver.

Wir ermöglichen es, Verbindungen für Power BI Berichte für DirectQuery zu aktualisieren und wieder aufzufrischen.

Wichtig

Dies ist auch ein Breaking Change im Vergleich zur Einrichtung in früheren Releases. Wenn Sie eine frühere Version des Power BI-Berichtsservers verwenden als die vom Oktober 2020, finden Sie weitere Informationen unter Ändern von Datenquellen-Verbindungszeichenfolgen in Power BI-Berichten mithilfe von PowerShell – Power BI-Berichtsserver vor Oktober 2020.

Voraussetzungen

  • Download des neuesten Releases des Power BI-Berichtsservers und des Power BI Desktop für den Power BI-Berichtsserver.
  • Ein Bericht, der mit dem Release vom Oktober 2020 oder höher der für den Berichtsserver optimierten Version von Power BI Desktop gespeichert wurde und für den Enhanced DataSet Metadata (Erweiterte Datasetmetadaten) aktiviert ist
  • Ein Bericht, der parametrisierte Verbindungen verwendet. Nur Berichte mit parametrisierten Verbindungen und Datenbanken können nach der Veröffentlichung aktualisiert werden.
  • In diesem Beispiel werden die Reporting Services-PowerShell-Tools verwendet. Mithilfe der neuen REST-APIs können Sie dieselben Ergebnisse erzielen.

Erstellen eines Berichts mit parametrisierten Verbindungen

  1. Stellen Sie eine SQL Server-Verbindung mit einem Server her. Im folgenden Beispiel wird eine Verbindung zwischen dem Localhost und einer Datenbank namens „ReportServer“ hergestellt und Daten aus ExecutionLog abgerufen.

    Connect to the SQL Server database

    So sieht die M-Abfrage zurzeit aus:

    let
        Source = Sql.Database("localhost", "ReportServer"),
        dbo_ExecutionLog3 = Source{[Schema="dbo",Item="ExecutionLog3"]}[Data]
    in
        dbo_ExecutionLog3
    
  2. Klicken Sie im Menüband des Power Query-Editors auf Parameter verwalten.

    Select Manage Parameters

  3. Erstellen Sie Parameter für den Server- und den Datenbanknamen.

    Manage Parameters, set servername and databasename.

  4. Bearbeiten Sie die Abfrage für die erste Verbindung, und ordnen Sie den Datenbank- und den Servernamen zu.

    Map the Server and Database name

    Nun sieht die Abfrage folgendermaßen aus:

    let
        Source = Sql.Database(ServerName, Databasename),
        dbo_ExecutionLog3 = Source{[Schema="dbo",Item="ExecutionLog3"]}[Data]
    in
        dbo_ExecutionLog3
    
    1. Veröffentlichen Sie den Bericht auf dem Server. In diesem Beispiel heißt der Bericht „executionlogparameter“. Die folgende Abbildung ist ein Beispiel für die Verwaltungsseite einer Datenquelle.

    The data source management page.

Aktualisieren von Parametern mithilfe der PowerShell-Tools

  1. Öffnen Sie PowerShell, und installieren Sie die neuesten Reporting Services-Tools mithilfe der Anleitung unter https://github.com/microsoft/ReportingServicesTools.

  2. Verwenden Sie zum Abrufen des Berichtsparameters den folgenden PowerShell-Befehl mit der neuen API „REST DataModelParameters“:

    Get-RsRestItemDataModelParameters '/executionlogparameter'
    
        Name         Value
        ----         -----
        ServerName   localhost
        Databasename ReportServer
    
  3. Das Ergebnis dieses Aufrufs wird in einer Variablen gespeichert:

    $parameters = Get-RsRestItemDataModelParameters '/executionlogparameter'
    
  4. Ordnen Sie sie einem Wörterbuch zu, um auf die Parameterwerte zuzugreifen.

    $parameterdictionary = @{}
    foreach ($parameter in $parameters) { $parameterdictionary.Add($parameter.Name, $parameter); }
    
    
  5. Diese Variable wird mit den Werten aktualisiert, die geändert werden müssen.

  6. Aktualisieren Sie die Werte der gewünschten Parameter:

    $parameterdictionary[“ServerName”].Value = 'myproductionserver'
    $parameterdictionary[“Databasename”].Value = 'myproductiondatabase'
    
  7. Mit den aktualisierten Werten und dem Cmdlet Set-RsRestItemDataModelParameters können Sie nun die Werte auf dem Server aktualisieren:

    Set-RsRestItemDataModelParameters -RsItem '/executionlogparameter' -DataModelParameters $parameters
    $parameterdictionary.Values
    
  8. Nachdem die Parameter aktualisiert wurden, aktualisiert der Server alle Datenquellen, die an die Parameter gebunden wurden. Zurück im Dialogfeld Datenquelle bearbeiten sollten Sie in der Lage sein, Anmeldeinformationen für den aktualisierten Server und die aktualisierte Datenbank festzulegen.

    Set credentials for the updated server and database.

Weitere Fragen? Stellen Sie Ihre Frage in der Power BI-Community.