Modificare le stringhe di connessione all'origine dati nei report di Power BI con PowerShell - Server di report di Power BI
È possibile aggiornare le connessioni per i report di Power BI per DirectQuery e aggiornamento.
Importante
Si tratta anche di una modifica sostanziale della modalità di configurazione di questa impostazione nelle versioni precedenti. Se si usa una versione precedente a ottobre 2020 di Server di report di Power BI, vedere Modificare le stringhe di connessione all'origine dati nei report di Power BI con PowerShell - Server di report di Power BI prima di ottobre 2020.
Prerequisiti
- Scaricare la versione più recente diServer di report di Power BI e Power BI Desktop per Server di report di Power BI.
- Un report salvato con la versione di ottobre 2020 o successive di Power BI Desktop ottimizzato per il Server di report, con i metadati del set di dati avanzati abilitati.
- Un report che usa connessioni con parametri. Dopo la pubblicazione è possibile aggiornare solo i report con connessioni con parametri e database.
- In questo esempio vengono usati gli strumenti di PowerShell per Reporting Services. È possibile ottenere lo stesso risultato usando le nuove API REST.
Creare un report con connessioni con parametri
Creare una connessione di SQL Server a un server. Nell'esempio seguente viene creata una connessione di localhost a un database denominato ReportServer e viene eseguito il pull dei dati da ExecutionLog.
Questo è l'aspetto della query M a questo punto:
let Source = Sql.Database("localhost", "ReportServer"), dbo_ExecutionLog3 = Source{[Schema="dbo",Item="ExecutionLog3"]}[Data] in dbo_ExecutionLog3
Selezionare Gestisci parametri nella barra multifunzione dell'editor di Power Query.
Creare i parametri per ServerName e Databasename.
Modificare la query per la prima connessione ed eseguire il mapping del nome del database e del server.
A questo punto la query ha un aspetto simile al seguente:
let Source = Sql.Database(ServerName, Databasename), dbo_ExecutionLog3 = Source{[Schema="dbo",Item="ExecutionLog3"]}[Data] in dbo_ExecutionLog3
- Pubblicare il report nel server. In questo esempio il report è denominato executionlogparameter. Nell'immagine seguente è riportato un esempio di pagina di gestione dell'origine dati.
Aggiornare i parametri usando gli strumenti di PowerShell
Aprire PowerShell e installare gli strumenti di Reporting Services più recenti seguendo le istruzioni riportate in https://github.com/microsoft/ReportingServicesTools.
Per ottenere il parametro per il report, usare la nuova API REST DataModelParameters usando la chiamata di PowerShell seguente:
Get-RsRestItemDataModelParameters '/executionlogparameter' Name Value ---- ----- ServerName localhost Databasename ReportServer
Il risultato di questa chiamata viene salvato in una variabile:
$parameters = Get-RsRestItemDataModelParameters '/executionlogparameter'
Eseguire il mapping a un dizionario per accedere ai valori dei parametri.
$parameterdictionary = @{} foreach ($parameter in $parameters) { $parameterdictionary.Add($parameter.Name, $parameter); }
Questa variabile viene aggiornata con i valori che è necessario modificare.
Aggiornare i valori dei parametri desiderati:
$parameterdictionary[“ServerName”].Value = 'myproductionserver' $parameterdictionary[“Databasename”].Value = 'myproductiondatabase'
Con i valori aggiornati è possibile usare il cmdlet
Set-RsRestItemDataModelParameters
per aggiornare i valori nel server:Set-RsRestItemDataModelParameters -RsItem '/executionlogparameter' -DataModelParameters $parameters $parameterdictionary.Values
Una volta aggiornati i parametri, il server aggiorna tutte le origini dati associate ai parametri. Tornando alla finestra di dialogo Modifica origine dati sarà possibile impostare le credenziali per il server e il database aggiornati.
Contenuto correlato
Altre domande? Contattare la community di Power BI