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
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.
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
Wybierz pozycję Zarządzaj parametrami na wstążce Edytor Power Query.
Utwórz parametry dla nazwy serwera i nazwy bazy danych.
Zmodyfikuj zapytanie dotyczące pierwszego połączenia i zamapuj bazę danych i nazwę serwera.
Teraz zapytanie wygląda następująco:
let Source = Sql.Database(ServerName, Databasename), dbo_ExecutionLog3 = Source{[Schema="dbo",Item="ExecutionLog3"]}[Data] in dbo_ExecutionLog3
- 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.
Aktualizowanie parametrów przy użyciu narzędzi programu PowerShell
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 .
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
Zapisujemy wynik tego wywołania w zmiennej:
$parameters = Get-RsRestItemDataModelParameters '/executionlogparameter'
Zamapuj na słownik, aby uzyskać dostęp do wartości parametrów.
$parameterdictionary = @{} foreach ($parameter in $parameters) { $parameterdictionary.Add($parameter.Name, $parameter); }
Ta zmienna jest aktualizowana przy użyciu wartości, które należy zmienić.
Zaktualizuj wartości żądanych parametrów:
$parameterdictionary[“ServerName”].Value = 'myproductionserver' $parameterdictionary[“Databasename”].Value = 'myproductiondatabase'
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
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.
Powiązana zawartość
Masz więcej pytań? Spróbuj zadać Społeczność usługi Power BI