Condividi tramite


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

  1. 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.

    Connettersi al database di SQL Server

    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
    
  2. Selezionare Gestisci parametri nella barra multifunzione dell'editor di Power Query.

    Selezionare Gestisci parametri

  3. Creare i parametri per ServerName e Databasename.

    Gestire i parametri, impostare ServerName e Databasename.

  4. Modificare la query per la prima connessione ed eseguire il mapping del nome del database e del server.

    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
    
    1. 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.

    Pagina di gestione dell'origine dati.

Aggiornare i parametri usando gli strumenti di PowerShell

  1. Aprire PowerShell e installare gli strumenti di Reporting Services più recenti seguendo le istruzioni riportate in https://github.com/microsoft/ReportingServicesTools.

  2. 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
    
  3. Il risultato di questa chiamata viene salvato in una variabile:

    $parameters = Get-RsRestItemDataModelParameters '/executionlogparameter'
    
  4. Eseguire il mapping a un dizionario per accedere ai valori dei parametri.

    $parameterdictionary = @{}
    foreach ($parameter in $parameters) { $parameterdictionary.Add($parameter.Name, $parameter); }
    
    
  5. Questa variabile viene aggiornata con i valori che è necessario modificare.

  6. Aggiornare i valori dei parametri desiderati:

    $parameterdictionary[“ServerName”].Value = 'myproductionserver'
    $parameterdictionary[“Databasename”].Value = 'myproductiondatabase'
    
  7. Con i valori aggiornati è possibile usare il cmdlet Set-RsRestItemDataModelParameters per aggiornare i valori nel server:

    Set-RsRestItemDataModelParameters -RsItem '/executionlogparameter' -DataModelParameters $parameters
    $parameterdictionary.Values
    
  8. 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.

    Impostare le credenziali per il server e il database aggiornati.

Altre domande? Contattare la community di Power BI