Freigeben über


Anleitung: Erstellen eines Power BI-Visuals unter Verwendung von R

Als Entwickler können Sie eigene Power BI-Visualisierungen erstellen. Diese visuellen Elemente können von Ihnen, Ihrer Organisation oder von Drittanbietern verwendet werden.

Dieser Artikel ist eine schrittweise Anleitung zum Erstellen eines R-basierten visuellen Elements für Power BI.

In diesem Tutorial erfahren Sie, wie:

  • Erstellen einer R-basierten visuellen Darstellung
  • Bearbeiten des R-Skripts in Power BI Desktop
  • Bibliotheken zur Abhängigkeitsdatei des Visuals hinzufügen.
  • Hinzufügen einer statischen Eigenschaft

Voraussetzungen

Get started

  1. Bereiten Sie einige Beispieldaten für das visuelle Element vor. Sie können diese Werte in einer Excel-Datenbank oder einer .csv-Datei speichern und in Power BI Desktop importieren.

    MonatNr Gesamteinheiten
    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. Um ein visuelles Element zu erstellen, öffnen Sie PowerShell oder Terminal, und führen Sie den folgenden Befehl aus:

    pbiviz new rVisualSample -t rvisual
    

    Mit diesem Befehl wird ein neuer Ordner für das rVisualSample-Visual erstellt. Die Struktur basiert auf der rvisual Vorlage. Sie erstellt eine Datei namens script.r im Stammordner des visuellen Elements. Diese Datei enthält das R-Skript, das ausgeführt wird, um das Bild zu generieren, wenn das visuelle Element gerendert wird. Sie können Ihr R-Skript in Power BI Desktop erstellen.

  3. Führen Sie im neu erstellten rVisualSample Verzeichnis den folgenden Befehl aus:

    pbiviz start
    
  4. Wählen Sie in Power BI Desktopdas visuelle R-Skript aus:

    Screenshot des R-Script-Visualisierungselements in Power BI Desktop.

  5. Weisen Sie dem Entwickler-Visual Daten zu, indem Sie "MonthNo" und "Total units" auf "Values" ziehen.

    Screenshot, der zeigt, wo Daten zu Werten hinzugefügt werden sollen.

  6. Legen Sie den Aggregationstyp der Summeneinheitenauf "Nicht zusammenfassen" fest.

    Screenshot des Menüs mit Option zum Nichtzusammenfassen von Daten.

  7. Geben Sie im R-Skript-Editor in Power BI Desktop Folgendes ein:

    plot(dataset)
    

    Mit diesem Befehl wird ein XY-Diagramm erstellt und dabei die Werte im semantischen Modell als Eingabe verwendet.

  8. Wählen Sie das Skriptsymbol ausführen aus, um das Ergebnis anzuzeigen.

    Screenshot des visuellen R-Diagramms mit Daten.

Bearbeiten des R-Skripts

Das R-Skript kann geändert werden, um andere Arten von visuellen Elementen zu erstellen. Als Nächstes erstellen wir ein Liniendiagramm.

  1. Fügen Sie den folgenden R-Code in den R-Skript-Editor ein.

    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. Wählen Sie das Skriptsymbol ausführen aus, um das Ergebnis anzuzeigen.

    Screenshot des Ergebnisses der Ausführung des Skripts, bei dem es sich um ein Linienplot handelt.

  3. Wenn Ihr R-Skript fertig ist, kopieren Sie es in die script.r Datei, die sich im Stammverzeichnis Ihres visuellen Projekts befindet.

  4. Ändern Sie in der capabilities.json Datei dataRolesname zu dataset, und setzen Sie die dataViewMappings Eingabe auf dataset.

    {
      "dataRoles": [
        {
          "displayName": "Values",
          "kind": "GroupingOrMeasure",
          "name": "dataset"
        }
      ],
      "dataViewMappings": [
        {
          "scriptResult": {
            "dataInput": {
              "table": {
                "rows": {
                  "select": [
                    {
                      "for": {
                        "in": "dataset"
                      }
                    }
                  ],
                  "dataReductionAlgorithm": {
                    "top": {}
                  }
                }
              }
            },
            ...
          }
        }
      ],
    }
    
  5. Fügen Sie den folgenden Code hinzu, um die Größenänderung des Bilds in der Datei "src/visual.ts " zu unterstützen.

      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 visuellen Paket

Das corrplot Paket erstellt eine grafische Anzeige einer Korrelationsmatrix. Weitere Informationen corrplotfinden Sie unter "Einführung in corrplot Package".

  1. Fügen Sie die corrplot Bibliotheksabhängigkeit zur dependencies.json Datei hinzu. Hier ist ein Beispiel für den Dateiinhalt:

    {
      "cranPackages": [
        {
          "name": "corrplot",
          "displayName": "corrplot",
          "url": "https://cran.r-project.org/web/packages/corrplot/"
        }
      ]
    }
    
  2. Jetzt können Sie mit der Verwendung des Corrplot-Pakets in Ihrer script.r Datei beginnen.

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

    Das Ergebnis der Verwendung des corrplot Pakets sieht wie im folgenden Beispiel aus:

    Screenshot des Visualisierungsbereichs mit vier Ovalen, die von Corrplot erstellt wurden.

Hinzufügen einer statischen Eigenschaft zum Eigenschaftenbereich

Nachdem wir nun über ein einfaches corrplot visuelles Element verfügen, fügen wir dem Eigenschaftenbereich Eigenschaften hinzu, mit denen der Benutzer das Erscheinungsbild des Visuellen ändern kann.

Wir verwenden das method Argument, um das Shape der Datenpunkte zu konfigurieren. Das Standardskript verwendet einen Kreis. Ändern Sie Ihr visuelles Element, damit der Benutzer zwischen mehreren Optionen wählen kann.

  1. Definieren Sie ein object namens settings in der capabilities.json-Datei und geben Sie ihr die folgenden Eigenschaften.

    "settings": {
      "properties": {
        "method": {
          "type": {
            "enumeration": [
              { "value": "circle" },
              { "value": "square" },
              { "value": "ellipse" },
              { "value": "number" },
              { "value": "shade" },
              { "value": "color" },
              { "value": "pie" }
            ]
          }
        }
      }
    }
    
  2. Öffnen Sie die Datei "src/settings.ts ". Erstellen Sie eine VisualCardSettings Klasse mit den öffentlichen Eigenschaften method, namedisplayNameund slices wie im Codefeld bellow dargestellt.

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

    Nach diesen Schritten können Sie die Eigenschaft des visuellen Elements ändern.

    Screenshot der visuellen R-Einstellungen.

    Schließlich muss das R-Skript über eine Standardeigenschaft verfügen. Wenn der Benutzer den Eigenschaftswert (in diesem Fall die Shape-Einstellung) nicht ändert, verwendet das Visuelle diesen Wert.

    Bei R-Laufzeitvariablen für die Eigenschaften lautet <objectname>_<propertyname>die Benennungskonvention in diesem Fall settings_method.

  3. Führen Sie das folgende R-Skript aus:

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

Ihr visuelles Element packen und importieren.

Jetzt können Sie das visuelle Element packen und in einen beliebigen Power BI-Bericht importieren.

  1. Füllen Sie die displayName, supportUrl, description des Autors name und email sowie alle anderen wichtigen Informationen in der pbivis.json Datei aus.

  2. Wenn Sie das Symbol des visuellen Elements im Visualisierungsbereich ändern möchten, ersetzen Sie die icon.png Datei im Ressourcenordner .

  3. Aus dem Stammverzeichnis Ihres visuellen Laufes:

    pbiviz package
    

    Weitere Informationen zum Verpacken des visuellen Elements finden Sie unter Packen des benutzerdefinierten visuellen Elements

  4. Importieren Sie die pbiviz-Datei des visuellen Elements in einen beliebigen Power BI-Bericht. Anweisungen dazu finden Sie unter Importieren einer visuellen Datei von Ihrem lokalen Computer in Power BI .

  5. Ihr endgültiges Visuelles sieht wie im folgenden Beispiel aus:

Screenshot der visuellen R-Einstellungen mit geänderten Werten.