Altere as cadeias de conexão da fonte de dados no Power BI com o PowerShell – Servidor de Relatórios do Power BI
Habilitamos a capacidade de atualizar conexões para atualizações e relatórios para DirectQuery do Power BI.
Importante
Isso também é uma alteração da falha em relação ao modo como você podia configurá-lo em versões anteriores. Se você estiver usando uma versão anterior à de outubro de 2020 do Servidor de Relatórios do Power BI, confira Alterar as cadeias de conexão da fonte de dados em relatórios do Power BI com o PowerShell – Servidor de Relatórios do Power BI pré-outubro de 2020
Pré-requisitos
- Faça o download da versão mais recente do Servidor de Relatórios do Power BI e o Power BI Desktop para o Servidor de Relatórios do Power BI.
- Um relatório salvo com a versão de outubro de 2020 ou posterior do Power BI Desktop otimizado para o Servidor de Relatórios e com a opção Metadados Aprimorados do Conjunto de Dados habilitada.
- Um relatório que usa conexões parametrizadas. Somente relatórios com bancos de dados e conexões parametrizados podem ser atualizados após a publicação.
- Este exemplo usa as ferramentas do PowerShell do Reporting Services. Você pode obter o mesmo resultado usando as novas APIs REST.
Criar um relatório com usa conexões parametrizadas
Crie uma conexão do SQL Server com um servidor. No exemplo a seguir, estamos nos conectando ao localhost para um banco de dados chamado ReportServer e efetuando pull de dados do ExecutionLog.
Esta é a aparência da consulta M nesse ponto:
let Source = Sql.Database("localhost", "ReportServer"), dbo_ExecutionLog3 = Source{[Schema="dbo",Item="ExecutionLog3"]}[Data] in dbo_ExecutionLog3
Selecione Gerenciar Parâmetros na faixa de opções do Editor do Power Query.
Crie parâmetros para o servername e o databasename.
Edite a consulta para a primeira conexão e mapeie o nome do banco de dados e do servidor.
Agora, a consulta será semelhante à seguinte:
let Source = Sql.Database(ServerName, Databasename), dbo_ExecutionLog3 = Source{[Schema="dbo",Item="ExecutionLog3"]}[Data] in dbo_ExecutionLog3
- Publique esse relatório no servidor. Neste exemplo, o relatório é denominado executionlogparameter. A imagem a seguir é um exemplo de uma página de gerenciamento de fonte de dados.
Atualizar parâmetros usando as ferramentas do PowerShell
Abra o PowerShell e instale as ferramentas de Reporting Services mais recentes seguindo as instruções em https://github.com/microsoft/ReportingServicesTools.
Para obter o parâmetro para o relatório, use a nova API REST de DataModelParameters usando a seguinte chamada do PowerShell:
Get-RsRestItemDataModelParameters '/executionlogparameter' Name Value ---- ----- ServerName localhost Databasename ReportServer
Salvamos o resultado dessa chamada em uma variável:
$parameters = Get-RsRestItemDataModelParameters '/executionlogparameter'
Mapeie para um dicionário para acessar os valores de parâmetro.
$parameterdictionary = @{} foreach ($parameter in $parameters) { $parameterdictionary.Add($parameter.Name, $parameter); }
Essa variável é atualizada com os valores que precisamos alterar.
Atualize os valores dos parâmetros desejados:
$parameterdictionary[“ServerName”].Value = 'myproductionserver' $parameterdictionary[“Databasename”].Value = 'myproductiondatabase'
Com os valores atualizados, podemos usar o commandlet
Set-RsRestItemDataModelParameters
para atualizar os valores no servidor:Set-RsRestItemDataModelParameters -RsItem '/executionlogparameter' -DataModelParameters $parameters $parameterdictionary.Values
Depois que os parâmetros são atualizados, o servidor atualiza todas as fontes de dados que foram associadas aos parâmetros. Retornando à caixa de diálogo Editar fonte de dados, você deve ser capaz de definir credenciais para o servidor e o banco de dados atualizados.
Conteúdo relacionado
Mais perguntas? Experimente perguntar à Comunidade do Power BI