Udostępnij przez


Zmienianie parametrów połączenia źródła danych w raportach usługi Power BI za pomocą programu PowerShell — serwer raportów usługi Power BI

Umożliwiamy aktualizację połączeń dla raportów Power BI w trybie DirectQuery oraz ich odświeżanie.

Ważne

Jest to również zmiana zakłócająca sposób, w jaki można było to skonfigurować w poprzednich wersjach.

Wymagania wstępne

  • Pobierz najnowszą wersję serwera raportów usługi Power BI i programu Power BI Desktop dla serwera raportów usługi Power BI.
  • Raport zapisany w programie Power BI Desktop, zoptymalizowany dla 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.

    Zrzut ekranu przedstawiający nawiązywanie połączenia z bazą danych programu SQL Server.

    Oto, jak w tym momencie wygląda zapytanie w języku M.

    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.

    Zrzut ekranu przedstawiający wybieranie parametrów zarządzania.

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

    Zrzut ekranu przedstawiający zarządzanie parametrami, ustawianie nazwy serwera i nazwy bazy danych.

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

    Zrzut ekranu pokazujący odwzorowanie nazwy serwera i bazy danych.

    Teraz zapytanie wygląda następująco:

    let
        Source = Sql.Database(ServerName, Databasename),
        dbo_ExecutionLog3 = Source{[Schema="dbo",Item="ExecutionLog3"]}[Data]
    in
        dbo_ExecutionLog3
    
  5. 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.

    Strona zarządzania źródłem danych.

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

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

  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.

    Zrzut ekranu przedstawiający ustawianie poświadczeń dla zaktualizowanego serwera i bazy danych.

Więcej pytań? Spróbuj zapytać społeczność usługi Power BI