Udostępnij za pośrednictwem


Zmienianie parametry połączenia źródła danych w raportach usługi Power BI przy użyciu programu PowerShell — Serwer raportów usługi Power BI

Umożliwiamy aktualizowanie połączeń dla raportów usługi Power BI dla trybu DirectQuery i odświeżania.

Ważne

Jest to również zmiana powodująca niezgodność w sposobie konfigurowania tego ustawienia w poprzednich wersjach. Jeśli używasz wersji przed październikiem 2020 r. Serwer raportów usługi Power BI, zobacz Zmienianie parametry połączenia źródła danych w raportach usługi Power BI przy użyciu programu PowerShell — Serwer raportów usługi Power BI przed październikiem 2020 r.

Wymagania wstępne

  • Pobierz najnowszą wersję Serwer raportów usługi Power BI i programu Power BI Desktop dla Serwer raportów usługi Power BI.
  • Raport zapisany w wersji z października 2020 r. lub nowszej programu Power BI Desktop zoptymalizowany pod kątem serwera raportów z włączonymi rozszerzonymi metadanymi zestawu danych.
  • Raport korzystający z sparametryzowanych połączeń. Po opublikowaniu można aktualizować tylko raporty z połączeniami sparametryzowanymi i bazami danych.
  • W tym przykładzie użyto narzędzi programu PowerShell usług Reporting Services. Możesz to zrobić przy użyciu nowych interfejsów API REST.

Tworzenie raportu z połączeniami sparametryzowanymi

  1. Utwórz połączenie programu SQL Server z serwerem. W poniższym przykładzie nawiązujemy połączenie z hostem lokalnym z bazą danych o nazwie ReportServer i ściągamy dane z dziennika wykonywania.

    Connect to the SQL Server database

    Oto, jak wygląda zapytanie M w tym momencie:

    let
        Source = Sql.Database("localhost", "ReportServer"),
        dbo_ExecutionLog3 = Source{[Schema="dbo",Item="ExecutionLog3"]}[Data]
    in
        dbo_ExecutionLog3
    
  2. Wybierz pozycję Zarządzaj parametrami na wstążce Edytor Power Query.

    Select Manage Parameters

  3. Utwórz parametry dla nazwy serwera i nazwy bazy danych.

    Manage Parameters, set servername and databasename.

  4. Zmodyfikuj zapytanie dotyczące pierwszego połączenia i zamapuj bazę danych i nazwę serwera.

    Map the Server and Database name

    Teraz zapytanie wygląda następująco:

    let
        Source = Sql.Database(ServerName, Databasename),
        dbo_ExecutionLog3 = Source{[Schema="dbo",Item="ExecutionLog3"]}[Data]
    in
        dbo_ExecutionLog3
    
    1. Opublikuj ten raport na serwerze. W tym przykładzie raport nosi nazwę executionlogparameter. Na poniższej ilustracji przedstawiono przykład strony zarządzania źródłami danych.

    The data source management page.

Aktualizowanie parametrów przy użyciu narzędzi programu PowerShell

  1. Otwórz program PowerShell i zainstaluj najnowsze narzędzia usług Reporting Services, postępując zgodnie z instrukcjami w https://github.com/microsoft/ReportingServicesToolstemacie .

  2. Aby uzyskać parametr raportu, użyj nowego interfejsu API REST DataModelParameters przy użyciu następującego wywołania programu PowerShell:

    Get-RsRestItemDataModelParameters '/executionlogparameter'
    
        Name         Value
        ----         -----
        ServerName   localhost
        Databasename ReportServer
    
  3. Zapisujemy wynik tego wywołania w zmiennej:

    $parameters = Get-RsRestItemDataModelParameters '/executionlogparameter'
    
  4. Zamapuj na słownik, aby uzyskać dostęp do wartości parametrów.

    $parameterdictionary = @{}
    foreach ($parameter in $parameters) { $parameterdictionary.Add($parameter.Name, $parameter); }
    
    
  5. Ta zmienna jest aktualizowana przy użyciu wartości, które należy zmienić.

  6. Zaktualizuj wartości żądanych parametrów:

    $parameterdictionary[“ServerName”].Value = 'myproductionserver'
    $parameterdictionary[“Databasename”].Value = 'myproductiondatabase'
    
  7. Dzięki zaktualizowanym wartościom możemy użyć polecenia cmdlet Set-RsRestItemDataModelParameters , aby zaktualizować wartości na serwerze:

    Set-RsRestItemDataModelParameters -RsItem '/executionlogparameter' -DataModelParameters $parameters
    $parameterdictionary.Values
    
  8. Po zaktualizowaniu parametrów serwer aktualizuje wszystkie źródła danych powiązane z parametrami. Po powrocie do okna dialogowego Edytowanie źródła danych powinno być możliwe ustawienie poświadczeń dla zaktualizowanego serwera i bazy danych.

    Set credentials for the updated server and database.

Masz więcej pytań? Spróbuj zadać Społeczność usługi Power BI