Partager via


Modifier les chaînes de connexion de source de données dans les rapports Power BI avec PowerShell - Power BI Report Server

Nous permettons la mise à jour des connexions pour les rapports Power BI pour DirectQuery et l'actualisation des données.

Important

Il s’agit également d’un changement cassant sur la façon dont vous pouvez configurer cela dans les versions précédentes.

Prerequisites

  • Téléchargez la dernière version de Power BI Report Server et de Power BI Desktop pour Power BI Report Server.
  • Un rapport enregistré avec Power BI Desktop optimisé pour Report Server, avec des métadonnées dataSet améliorées activées .
  • Rapport qui utilise des connexions paramétrables. Seuls les rapports avec des connexions et des bases de données paramétrables peuvent être mis à jour après la publication.
  • Cet exemple utilise les outils PowerShell Reporting Services. Vous pouvez obtenir la même chose à l’aide des nouvelles API REST.

Créer un rapport avec des connexions paramétrables

  1. Créez une connexion SQL Server à un serveur. Dans l’exemple ci-dessous, nous nous connectons au localhost à une base de données appelée ReportServer et extrayons des données à partir d’ExecutionLog.

    Capture d’écran montrant Se connecter à la base de données SQL Server.

    Voici à quoi ressemble la requête M à ce stade :

    let
        Source = Sql.Database("localhost", "ReportServer"),
        dbo_ExecutionLog3 = Source{[Schema="dbo",Item="ExecutionLog3"]}[Data]
    in
        dbo_ExecutionLog3
    
  2. Sélectionnez Gérer les paramètres dans le ruban de l’éditeur Power Query.

    Capture d'écran de Sélectionner Gérer les paramètres.

  3. Créez des paramètres pour le nom de serveur et le nom de base de données.

    Capture d’écran montrant Gérer les paramètres, définir le nom du serveur et le nom de base de données.

  4. Modifiez la requête pour la première connexion et mappez la base de données et le nom du serveur.

    Capture d’écran montrant mapper le nom du serveur et de la base de données.

    À présent, la requête ressemble à ceci :

    let
        Source = Sql.Database(ServerName, Databasename),
        dbo_ExecutionLog3 = Source{[Schema="dbo",Item="ExecutionLog3"]}[Data]
    in
        dbo_ExecutionLog3
    
  5. Publiez ce rapport sur le serveur. Dans cet exemple, le rapport est nommé executionlogparameter. L’image suivante est un exemple de page de gestion de source de données.

    Page de gestion de la source de données.

Mettre à jour les paramètres à l’aide des outils PowerShell

  1. Ouvrez PowerShell et installez les derniers outils Reporting Services en suivant les instructions à l’adresse https://github.com/microsoft/ReportingServicesTools.

  2. Pour obtenir le paramètre du rapport, utilisez la nouvelle API REST DataModelParameters à l’aide de l’appel PowerShell suivant :

    Get-RsRestItemDataModelParameters '/executionlogparameter'
    
        Name         Value
        ----         -----
        ServerName   localhost
        Databasename ReportServer
    
  3. Nous enregistrons le résultat de cet appel dans une variable :

    $parameters = Get-RsRestItemDataModelParameters '/executionlogparameter'
    
  4. Utilisez un dictionnaire pour accéder aux valeurs des paramètres.

    $parameterdictionary = @{}
    foreach ($parameter in $parameters) { $parameterdictionary.Add($parameter.Name, $parameter); }
    
  5. Cette variable est mise à jour avec les valeurs que nous devons modifier.

  6. Mettez à jour les valeurs des paramètres souhaités :

    $parameterdictionary["ServerName"].Value = 'myproductionserver'
    $parameterdictionary["Databasename"].Value = 'myproductiondatabase'
    
  7. Avec les valeurs mises à jour, nous pouvons utiliser l’applet Set-RsRestItemDataModelParameters de commande pour mettre à jour les valeurs dans le serveur :

    Set-RsRestItemDataModelParameters -RsItem '/executionlogparameter' -DataModelParameters $parameters
    $parameterdictionary.Values
    
  8. Une fois les paramètres mis à jour, le serveur met à jour toutes les sources de données liées aux paramètres. Revenez à la boîte de dialogue Modifier la source de données , vous devriez être en mesure de définir les informations d’identification du serveur et de la base de données mis à jour.

    Capture d’écran montrant Définir les informations d’identification pour le serveur et la base de données mis à jour.

Plus de questions ? Essayez d’interroger la communauté Power BI