Partager via


Tutoriel : Créer un visuel Power BI alimenté par R

En tant que développeur, vous pouvez créer vos propres visuels Power BI. Ces visuels peuvent être utilisés par vous, votre organisation ou par des tiers.

Cet article est un guide pas à pas pour la création d’un visuel alimenté par R pour Power BI.

Dans ce tutoriel, vous allez apprendre à :

  • Créer un visuel alimenté par R
  • Modifier le script R dans Power BI Desktop
  • Ajouter des bibliothèques au fichier de dépendances du visuel
  • Ajouter une propriété statique

Prerequisites

Get started

  1. Préparez des exemples de données pour le visuel. Vous pouvez enregistrer ces valeurs dans une base de données Excel ou un fichier .csv et l’importer dans Power BI Desktop.

    NuméroMois Nombre total d’unités
    1 2303
    2 2319
    3 1732
    4 1615
    5 1427
    6 2253
    7 1147
    8 1515
    9 2516
    10 3131
    11 3170
    12 2762
  2. Pour créer un visuel, ouvrez PowerShell ou Terminal, puis exécutez la commande suivante :

    pbiviz new rVisualSample -t rvisual
    

    Cette commande crée un dossier pour le visuel rVisualSample . La structure est basée sur le rvisual modèle. Il crée un fichier appelé script.r dans le dossier racine du visuel. Ce fichier contient le script R exécuté pour générer l’image lorsque le visuel est rendu. Vous pouvez créer votre script R dans Power BI Desktop.

  3. À partir du répertoire nouvellement créé rVisualSample , exécutez la commande suivante :

    pbiviz start
    
  4. Dans Power BI Desktop, sélectionnez visuel de script R :

    Capture d’écran du contrôle visuel de script R dans Power BI Desktop.

  5. Affectez des données au visuel développeur en faisant glisser MonthNo et Nombre total d’unités vers les valeurs du visuel.

    Capture d’écran montrant où ajouter des données à des valeurs.

  6. Définissez le type d’agrégation des unités totales à Ne pas résumer.

    Capture d’écran du menu avec l’option pour ne pas résumer les données.

  7. À partir de l’éditeur de script R dans votre Power BI Desktop, tapez ce qui suit :

    plot(dataset)
    

    Cette commande crée un nuage de points à l’aide des valeurs du modèle sémantique en tant qu’entrée.

  8. Sélectionnez l’icône Exécuter le script pour afficher le résultat.

    Capture d’écran du graphique visuel R avec des données.

Modifier le script R

Le script R peut être modifié pour créer d’autres types de visuels. Créons ensuite un graphique en courbes.

  1. Collez le code R suivant dans l’éditeur de script R.

    x <- dataset[,1] # get the first column from semantic model
    y <- dataset[,2] # get the second column from semantic model
    
    columnNames = colnames(dataset) # get column names
    
    plot(x, y, type="n", xlab=columnNames[1], ylab=columnNames[2]) # draw empty plot with axis and labels only
    lines(x, y, col="green") # draw line plot
    
  2. Sélectionnez l’icône Exécuter le script pour afficher le résultat.

    Capture d’écran du résultat de l’exécution du script, qui est un tracé de ligne.

  3. Lorsque votre script R est prêt, copiez-le dans le script.r fichier situé dans le répertoire racine de votre projet visuel.

  4. Dans le fichier capabilities.json, remplacez le dataRolesname par jeu de données, et définissez l'entrée sur dataViewMappingsjeu de données.

    {
      "dataRoles": [
        {
          "displayName": "Values",
          "kind": "GroupingOrMeasure",
          "name": "dataset"
        }
      ],
      "dataViewMappings": [
        {
          "scriptResult": {
            "dataInput": {
              "table": {
                "rows": {
                  "select": [
                    {
                      "for": {
                        "in": "dataset"
                      }
                    }
                  ],
                  "dataReductionAlgorithm": {
                    "top": {}
                  }
                }
              }
            },
            ...
          }
        }
      ],
    }
    
  5. Ajoutez le code suivant pour prendre en charge le redimensionnement de l’image dans le fichier src/visual.ts .

      public onResizing(finalViewport: IViewport): void {
          this.imageDiv.style.height = finalViewport.height + "px";
          this.imageDiv.style.width = finalViewport.width + "px";
          this.imageElement.style.height = finalViewport.height + "px";
          this.imageElement.style.width = finalViewport.width + "px";
      }
    

Ajouter des bibliothèques au package visuel

Le corrplot package crée un affichage graphique d’une matrice de corrélation. Pour plus d’informations sur corrplot, consultez Une introduction au package corrplot.

  1. Ajoutez la corrplot dépendance de bibliothèque au dependencies.json fichier. Voici un exemple de contenu de fichier :

    {
      "cranPackages": [
        {
          "name": "corrplot",
          "displayName": "corrplot",
          "url": "https://cran.r-project.org/web/packages/corrplot/"
        }
      ]
    }
    
  2. Vous pouvez maintenant commencer à utiliser le package corrplot dans votre script.r fichier.

    library(corrplot)
    corr <- cor(dataset)
    corrplot(corr, method="circle", order = "hclust")
    

    Le résultat de l’utilisation corrplot du package ressemble à cet exemple :

    Capture d’écran du volet de visualisation avec quatre ovales créés par corrplot.

Ajouter une propriété statique au volet de propriétés

Maintenant que nous avons un visuel de base corrplot, nous allons ajouter des propriétés au volet de propriétés qui permettent à l'utilisateur de modifier l'aspect visuel et le ressenti du visuel.

Nous utilisons l’argument method pour configurer la forme des points de données. Le script par défaut utilise un cercle. Modifiez votre visuel pour permettre à l’utilisateur de choisir entre plusieurs options.

  1. Définissez un objectparamètre appelé dans le fichier capabilities.json et attribuez-lui les propriétés suivantes.

    "settings": {
      "properties": {
        "method": {
          "type": {
            "enumeration": [
              { "value": "circle" },
              { "value": "square" },
              { "value": "ellipse" },
              { "value": "number" },
              { "value": "shade" },
              { "value": "color" },
              { "value": "pie" }
            ]
          }
        }
      }
    }
    
  2. Ouvrez le fichier src/settings.ts . Créez une classe VisualCardSettings avec les propriétés method, name, displayName et slices comme indiqué dans la zone de code ci-dessous.

    import ItemDropdown = formattingSettings.ItemDropdown;
    
    const methodOptions = [
        {
            displayName: "Circle",
            value: "circle"
        },
        {
            displayName: "Square",
            value: "square"
        },
        {
            displayName: "Ellipse",
            value: "ellipse"
        },
        {
            displayName: "Number",
            value: "number"
        },
        {
            displayName: "Shade",
            value: "shade"
        },
        {
            displayName: "Color",
            value: "color"
        },
        {
            displayName: "Pie",
            value: "pie"
        }
    ]
    
    class VisualCardSettings extends FormattingSettingsCard {
        method: FormattingSettingsSlice = new ItemDropdown({
            name: "method",
            displayName: "Method",
            items: methodOptions,
            value: methodOptions[0]
        });
    
        name: string = "settings";
        displayName: string = "Settings";
        slices: Array<FormattingSettingsSlice> = [this.method];
    }
    

    Après ces étapes, vous pouvez modifier la propriété du visuel.

    Capture d’écran des paramètres visuels R.

    Enfin, le script R doit avoir une propriété par défaut. Si l’utilisateur ne modifie pas la valeur de propriété (dans ce cas, le paramètre de forme), le visuel utilise cette valeur.

    Pour les variables runtime R pour les propriétés, la convention d’affectation de noms est <objectname>_<propertyname>, dans ce cas, settings_method.

  3. Exécutez le script R suivant :

    library(corrplot)
    corr <- cor(dataset)
    
    if (!exists("settings_method"))
    {
        settings_method = "circle";
    }
    
    corrplot(corr, method=settings_method, order = "hclust")
    

Empaqueter et importer votre visuel

Vous pouvez maintenant empaqueter le visuel et l’importer dans n’importe quel rapport Power BI.

  1. Remplissez les displayName, supportUrl, description, name et email, ainsi que toute autre information importante dans le fichier pbivis.json.

  2. Si vous souhaitez modifier l’icône du visuel dans le volet visualisation, remplacez le fichier icon.png dans le dossier ressources .

  3. Depuis le répertoire racine de votre interface visuelle :

    pbiviz package
    

    Pour plus d’informations sur l’empaquetage de votre visuel, consultez Empaquetage du visuel personnalisé

  4. Importez le fichier pbiviz du visuel dans n’importe quel rapport Power BI. Consultez Importer un fichier visuel à partir de votre ordinateur local dans Power BI pour obtenir des instructions sur la procédure à suivre.

  5. Votre visuel final ressemble à l’exemple suivant :

Capture d’écran des paramètres visuels R avec une valeur modifiée.