Изменение строка подключения источников данных в отчетах Power BI с помощью PowerShell — Сервер отчетов Power BI
Мы можем обновлять подключения для отчетов Power BI для DirectQuery и обновлять их.
Важно!
Это также критическое изменение о том, как можно настроить это в предыдущих выпусках. Если вы используете предварительную версию Сервер отчетов Power BI за октябрь 2020 г., см. статью об изменении строка подключения источников данных в отчетах Power BI с помощью PowerShell — Сервер отчетов Power BI до октября 2020 г.
Необходимые компоненты
- Скачайте последнюю версию Сервер отчетов Power BI и Power BI Desktop для Сервер отчетов Power BI.
- Отчет, сохраненный в выпуске Power BI Desktop за октябрь 2020 г., оптимизированный для сервера отчетов, с включенными расширенными метаданными набора данных.
- Отчет, использующий параметризованные подключения. После публикации можно обновить только отчеты с параметризованными подключениями и базами данных.
- В этом примере используются средства PowerShell служб Reporting Services. Вы можете добиться того же, используя новые интерфейсы REST API.
Создание отчета с параметризованными подключениями
Создайте подключение SQL Server к серверу. В приведенном ниже примере мы подключаемся к localhost к базе данных с именем ReportServer и извлекаем данные из ExecutionLog.
Вот как выглядит запрос M на этом этапе:
let Source = Sql.Database("localhost", "ReportServer"), dbo_ExecutionLog3 = Source{[Schema="dbo",Item="ExecutionLog3"]}[Data] in dbo_ExecutionLog3
Выберите "Управление параметрами" на ленте Редактор Power Query.
Создайте параметры для имени сервера и имени базы данных.
Измените запрос на первое подключение и сопоставийте имя базы данных и сервера.
Теперь запрос выглядит следующим образом:
let Source = Sql.Database(ServerName, Databasename), dbo_ExecutionLog3 = Source{[Schema="dbo",Item="ExecutionLog3"]}[Data] in dbo_ExecutionLog3
- Опубликуйте этот отчет на сервере. В этом примере отчет называется executionlogparameter. На следующем рисунке показан пример страницы управления источниками данных.
Обновление параметров с помощью средств PowerShell
Откройте PowerShell и установите последние средства Служб Reporting Services, следуя инструкциям.https://github.com/microsoft/ReportingServicesTools
Чтобы получить параметр отчета, используйте новый API REST DataModelParameters с помощью следующего вызова PowerShell:
Get-RsRestItemDataModelParameters '/executionlogparameter' Name Value ---- ----- ServerName localhost Databasename ReportServer
Мы сохраняем результат этого вызова в переменной:
$parameters = Get-RsRestItemDataModelParameters '/executionlogparameter'
Сопоставить словарь с доступом к значениям параметров.
$parameterdictionary = @{} foreach ($parameter in $parameters) { $parameterdictionary.Add($parameter.Name, $parameter); }
Эта переменная обновляется со значениями, которые необходимо изменить.
Обновите значения требуемых параметров:
$parameterdictionary[“ServerName”].Value = 'myproductionserver' $parameterdictionary[“Databasename”].Value = 'myproductiondatabase'
С обновленными значениями можно использовать командлет
Set-RsRestItemDataModelParameters
для обновления значений на сервере:Set-RsRestItemDataModelParameters -RsItem '/executionlogparameter' -DataModelParameters $parameters $parameterdictionary.Values
После обновления параметров сервер обновляет все источники данных, привязанные к параметрам. Вернитесь в диалоговое окно "Изменить источник данных", вы сможете задать учетные данные для обновленного сервера и базы данных.
Связанный контент
Есть еще вопросы? Задайте их в сообществе Power BI.