Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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
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 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_ExecutionLog3Wybierz 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_ExecutionLog3Opublikuj 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 PowerShell i zainstaluj najnowsze narzędzia Reporting Services, postępując zgodnie z instrukcjami w https://github.com/microsoft/ReportingServicesTools.
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 ReportServerZapisujemy 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.ValuesPo 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.
Treści powiązane
Więcej pytań? Spróbuj zapytać społeczność usługi Power BI