Tutorial: Erstellen von R-gestützten Power BI-VisualsTutorial: Create an R-powered Power BI visual

In diesem Tutorial wird beschrieben, wie Sie eine R-gestütztes Visual für Power BI erstellen können.This tutorial describes how to create an R-powered visual for Power BI.

In diesem Tutorial erhalten Sie Informationen zu den folgenden Vorgängen:In this tutorial, you learn how to:

  • Erstellen von R-gestützten VisualsCreate an R-powered visual
  • Bearbeiten des R-Skripts in Power BI DesktopEdit the R script in Power BI Desktop
  • Hinzufügen von Bibliotheken zum VisualAdd libraries to the visual
  • Hinzufügen von statischen EigenschaftenAdd a static property

VoraussetzungenPrerequisites

Erste SchritteGetting started

  1. Bereiten Sie Beispieldaten für das Visual vor.Prepare sample data for the visual. Sie können diese Werte in einer Excel-Datenbank oder in einer CSV-Datei speichern und in Power BI Desktop importieren.You can save these values to an Excel database or .csv file and import it into Power BI Desktop.

    MonatsnrMonthNo Total UnitsTotal Units
    11 23032303
    22 23192319
    33 17321732
    44 16151615
    55 14271427
    66 22532253
    77 11471147
    88 15151515
    99 25162516
    1010 31313131
    1111 31703170
    1212 27622762
  2. Öffnen Sie PowerShell oder das Terminal, und führen Sie den folgenden Befehl aus, um ein Visual zu erstellen:To create a visual, open PowerShell or Terminal, and run the following command:

    pbiviz new rVisualSample -t rvisual
    

    Mit diesem Befehl wird eine neue Ordnerstruktur erstellt, die auf der Vorlage rvisual basiert.This command creates a new folder structure based on the rvisual template. Diese Vorlage enthält ein einfaches, sofort einsatzbereites, R-gestütztes Visual, das das folgende R-Skript ausführt:This template includes a basic, ready-to-run R-powered visual that runs the following R script:

    plot(Values)
    

    Der Datenrahmen Values enthält Spalten in der Datenrolle Values.The Values data frame will contain columns in Values data role.

  3. Weisen Sie dem visuellen Entwicklerelement Daten zu, indem Sie MonthNo und Total units (Einheiten insgesamt) als Werte für das Visual hinzufügen.Assign data to the developer visual by adding MonthNo and Total units to Values for the visual.

    R-Visual mit Daten

Bearbeiten des R-SkriptsEditing the R Script

Wenn Sie pbiviz verwenden, um das R-gestützte Visual basierend auf der Vorlage rvisual zu erstellen, wird eine Datei mit dem Namen script.r im Stammordner des Visuals erstellt.When you use pbiviz to create the R-powered visual based on the rvisual template, it creates a file called script.r in the root folder of the visual. Diese Datei enthält das R-Skript, das ausgeführt wird, um das Image für einen Benutzer zu generieren.This file holds the R script that runs to generate the image for a user. Sie können ein R-Skript in Power BI Desktop erstellen.You can create your R script in Power BI Desktop.

  1. Klicken Sie in Power BI Desktop auf die Option Visuelles R-Skriptelement:In Power BI Desktop, select R script visual:

    Screenshot: Das R-Skript-Visual in Power BI Desktop

  2. Fügen Sie den folgenden R-Code in den R-Skript-Editor ein:Paste this R code into the R script editor:

    x <- dataset[,1] # get the first column from dataset
    y <- dataset[,2] # get the second column from dataset
    
    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
    
  3. Klicken Sie auf das Symbol Skript ausführen, um das Ergebnis abzurufen.Select the Run script icon to see the result.

    Screenshot: Das Ergebnis der Skriptausführung: ein Liniendiagramm

  4. Wenn Ihr R-Skript bereit ist, kopieren Sie es in die Datei script.r im Visualprojekt, das Sie in einem der vorherigen Schritte erstellt haben.When your R script is ready, copy it to the script.r file in your visual project created at one of the previous steps.

  5. Ändern Sie in der Datei capabilities.json den name von dataRoles in dataRoles.Change the name of dataRoles in capabilities.json to dataRoles. Power BI übergibt Daten als das dataset-Datenrahmenobjekt für das R-Skript-Visual. Dabei erhält das R-Visual allerdings den Namen für den Datenrahmen entsprechend den dataRoles-Namen.Power BI passes data as the dataset data frame object for the R script visual, but the R visual gets the data frame name according to dataRoles names.

    {
      "dataRoles": [
        {
          "displayName": "Values",
          "kind": "GroupingOrMeasure",
          "name": "dataRoles"
        }
      ],
      "dataViewMappings": [
        {
          "scriptResult": {
            "dataInput": {
              "table": {
                "rows": {
                  "select": [
                    {
                      "for": {
                        "in": "dataset"
                      }
                    }
                  ],
                  "dataReductionAlgorithm": {
                    "top": {}
                  }
                }
              }
            },
            ...
          }
        }
      ],
    }
    
  6. Fügen Sie den folgenden Code hinzu, um die Größe des Image in der Datei src/visual.ts anzupassen.Add the following code to support resizing the image in the src/visual.ts file.

      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";
      }
    

Hinzufügen von Bibliotheken zum VisualpaketAdd libraries to visual package

Im Rahmen dieses Prozesses erhält das Visual die Möglichkeit, das Paket corrplot zu verwenden.This procedure allows your visual to use the corrplot package.

  1. Fügen Sie die Bibliotheksabhängigkeit für das Visual zu dependencies.json hinzu.Add the library dependency for your visual to dependencies.json. Nachfolgend finden Sie ein Beispiel für den Dateiinhalt:Here is an example of the file content:

    {
      "cranPackages": [
        {
          "name": "corrplot",
          "displayName": "corrplot",
          "url": "https://cran.r-project.org/web/packages/corrplot/"
        }
      ]
    }
    

    Das Paket corrplot ist eine grafische Darstellung einer Korrelationsmatrix.The corrplot package is a graphical display of a correlation matrix. Weitere Informationen zu corrplot finden Sie unter Einführung in das corrplot-Paket.For more information about corrplot, see An Introduction to corrplot Package.

  2. Nachdem Sie diese Änderungen vorgenommen haben, können Sie das Paket in Ihrer script.r-Datei verwenden.After you make these changes, start using the package in your script.r file.

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

Wenn Sie das corrplot-Paket verwenden, sieht das in etwa wie im folgenden Beispiel aus:The result of using corrplot package looks like this example:

Screenshot: Der Visualisierungsbereich mit vier von corrplot erstellten Ovalen

Hinzufügen einer statischen Eigenschaft zum EigenschaftenbereichAdding a static property to the property pane

Geben Sie Benutzern die Möglichkeit, Änderungen an den Einstellungen für die Benutzeroberfläche vorzunehmen.Enable users to change UI settings. Fügen Sie dafür Eigenschaften zum Eigenschaftenbereich hinzu, die die Benutzereingabe basierend auf dem Verhalten des R-Skripts ändern.To do this, add properties to the property pane that change the user-input based behavior of the R script.

Sie können corrplot mithilfe des Arguments method für die Funktion corrplot konfigurieren.You can configure corrplot by using the method argument for the corrplot function. Das Standardskript verwendet einen Kreis.The default script uses a circle. Bearbeiten Sie das Visual so, dass die Benutzer aus mehreren Optionen auswählen können.Modify your visual to let the user choose between several options.

  1. Definieren Sie das Objekt und die Eigenschaft in der Datei capabilities.json.Define the object and property in the capabilities.json file. Verwenden Sie anschließend diesen Objektnamen in der Enumerationsmethode, um diese Werte aus dem Eigenschaftenbereich abzurufen.Then use this object name in the enumeration method to get those values from the property pane.

    {
      "settings": {
      "displayName": "Visual Settings",
      "description": "Settings to control the look and feel of the visual",
      "properties": {
        "method": {
          "displayName": "Data Look",
          "description": "Control the look and feel of the data points in the visual",
          "type": {
            "enumeration": [
              {
                "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"
              }
            ]
          }
        }
      }
    }
    
  2. Öffnen Sie die Datei src/settings.ts.Open the src/settings.ts file. Erstellen Sie eine CorrPlotSettings-Klasse mit der öffentlichen Eigenschaft method.Create a CorrPlotSettings class with the public property method. Der Typ lautet string, und der Standardwert ist circle.The type is string and the default value is circle. Fügen Sie die Eigenschaft settings zu der Klasse VisualSettings mit dem Standardwert hinzu:Add the settings property to the VisualSettings class with the default value:

    "use strict";
    
    import { dataViewObjectsParser } from "powerbi-visuals-utils-dataviewutils";
    import DataViewObjectsParser = dataViewObjectsParser.DataViewObjectsParser;
    
    export class VisualSettings extends DataViewObjectsParser {
      public rcv_script: rcv_scriptSettings = new rcv_scriptSettings();
      public settings: CorrPlotSettings = new CorrPlotSettings();
    }
    
    export class CorrPlotSettings {
      public method: string = "circle";
    }
    
    export class rcv_scriptSettings {
      public provider;
      public source;
    }
    

    Nachdem Sie diese Schritte ausgeführt haben, können Sie die Eigenschaft des Visuals ändern.After these steps, you can change the property of the visual.

    Einstellungen für das R-Visual

    Zuletzt muss das R-Skript mit einer Eigenschaft gestartet werden.Finally, the R script must start with a property. Wenn der Benutzer die Eigenschaft nicht ändert, erhält das Visual keinen Wert für diese Eigenschaft.If the user doesn't change the property, the visual doesn't get any value for this property.

    Für R-Runtimevariablen für die Eigenschaften gilt die Namenskonvention <objectname>_<propertyname>. In diesem Beispiel lautet der Name deshalb settings_method.For R runtime variables for the properties, the naming convention is <objectname>_<propertyname>, in this case, settings_method.

  3. Ändern Sie das R-Skript im Visual entsprechend dem folgenden Code:Change the R script in your visual to match the following code:

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

Das fertige Visual sieht in etwa wie im folgenden Beispiel aus:Your final visual looks like the following example:

Einstellungen für das R-Visual mit geändertem Wert

Nächste SchritteNext steps

Weitere Informationen zu R-gestützten Visuals finden Sie unter Verwenden von R-gestützten Power BI-Visuals in Power BI.To learn more about R-powered visuals, see Use R-powered Power BI visuals in Power BI.

Weitere Informationen zu R-gestützten Visuals in Power BI Desktop finden Sie unter Erstellen von Power BI-Visuals mithilfe von R.For more information about R-powered visuals in Power BI Desktop, see Create Power BI visuals using R.