Condividi tramite


Modificare le stringhe di connessione all'origine dati nei report di Power BI con PowerShell - Power BI Report Server

Abilitiamo la possibilità di aggiornare le connessioni per i report di Power BI per DirectQuery e aggiornamento.

Importante

Si tratta anche di una modifica sostanziale al modo in cui era possibile configurarlo nelle versioni precedenti.

Prerequisiti

  • Scaricare la versione più recente del server di report di Power BI e di Power BI Desktop per il server di report di Power BI.
  • Report salvato con Power BI Desktop ottimizzato per il server di report, con metadati del set di dati avanzati abilitati.
  • Report che utilizza connessioni con parametri. Dopo la pubblicazione è possibile aggiornare solo i report con connessioni e database con parametri.
  • In questo esempio vengono usati gli strumenti di PowerShell di Reporting Services. È possibile ottenere lo stesso risultato usando le nuove API REST.

Creare un report con connessioni con parametri

  1. Creare una connessione SQL Server a un server. Nell'esempio seguente ci si connette al localhost a un database denominato ReportServer e si esegue il pull dei dati da ExecutionLog.

    Screenshot che mostra La connessione al database di SQL Server.

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

    Screenshot che mostra La selezione dei parametri di gestione.

  3. Creare parametri per il nome server e il nome database.

    Screenshot che mostra la gestione dei parametri, impostare nome server e nome database.

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

    Screenshot che mostra il nome del server e del database.

    La query avrà ora un aspetto simile al seguente:

    let
        Source = Sql.Database(ServerName, Databasename),
        dbo_ExecutionLog3 = Source{[Schema="dbo",Item="ExecutionLog3"]}[Data]
    in
        dbo_ExecutionLog3
    
  5. Pubblicare il report nel server. In questo esempio il report è denominato executionlogparameter. L'immagine seguente è 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. Mappa 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 commandlet Set-RsRestItemDataModelParameters per aggiornare i valori nel server:

    Set-RsRestItemDataModelParameters -RsItem '/executionlogparameter' -DataModelParameters $parameters
    $parameterdictionary.Values
    
  8. Dopo l'aggiornamento dei parametri, il server aggiorna tutte le origini dati associate ai parametri. Tornare alla finestra di dialogo Modifica origine dati . Dovrebbe essere possibile impostare le credenziali per il server e il database aggiornati.

    Screenshot che mostra l'opzione Imposta credenziali per il server e il database aggiornati.

Altre domande? Chiedi alla community di Power BI