Modificare le stringa di connessione dell'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 aggiornare.

Importante

Si tratta anche di una modifica che causa un'interruzione della configurazione nelle versioni precedenti. Se si usa una versione precedente a ottobre 2020 di Server di report di Power BI, vedere Modificare le stringa di connessione dell'origine dati nei report di Power BI con PowerShell - Server di report di Power BI pre-ottobre 2020

Prerequisiti

  • Scaricare la versione più recente di Server 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 successiva di Power BI Desktop ottimizzata 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.

    Connect to the SQL Server database

    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 editor di Power Query.

    Select Manage Parameters

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

    Manage Parameters, set servername and databasename.

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

    Map the Server and Database name

    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
    
    1. Pubblicare il report nel server. In questo esempio il report è denominato executionlogparameter. L'immagine seguente è un esempio di pagina di gestione dell'origine dati.

    The data source management page.

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

    Set credentials for the updated server and database.

Altre domande? Contattare la community di Power BI