Tutorial: Erstellen eines Trichterplots mithilfe eines R-Skripts – R-Visuals

Dieser Artikel enthält eine ausführliche Anleitung für R-Visuals, in der Sie erfahren, wie Sie einen Trichterplot mithilfe eines R-Skripts erstellen. Die Dowloadlinks für die Quelldateien finden Sie in den einzelnen Schritten.

In diesem Artikel erfahren Sie, wie Sie Folgendes erstellen:

  • ein R-Skript für RStudio
  • ein R-Visual in Power BI
  • ein PNG-basiertes R-Visual in Power BI
  • ein HTML-basiertes R-Visual in Power BI

Der Trichterplot ist eine einfache Möglichkeit, eine erwartete Abweichung zu verarbeiten, zu interpretieren und im Umfang anzeigen zu lassen. Der Trichter wird mithilfe von Konfidenzgrenzen gebildet. Ausreißer werden durch außerhalb des Trichters liegende Punkte dargestellt.

In diesem Beispiel werden mithilfe des Trichterplots verschiedene Datasets verglichen und analysiert.

Voraussetzungen

Erstellen eines R-Skripts mit semantischem Modell

  1. Laden Sie ein minimales R-Skript und die dazugehörige Datentabelle dataset.csv herunter.

  2. Bearbeiten Sie das Skript anschließend so, dass es diesem Skript entspricht. Dadurch werden die Behandlung von Eingabefehlern sowie Benutzerparameter hinzugefügt, um die Darstellung des Plots zu steuern.

Erstellen eines Berichts

Bearbeiten Sie das Skript anschließend so, dass es diesem Skript entspricht. Dadurch wird die Datei dataset.csv anstelle von read.csv in den Power BI-Desktoparbeitsbereich geladen und eine Tabelle namens Cancer Mortality (Krebssterblichkeit) erstellt. Die Ergebnisse finden Sie in dieser PBIX-Datei.

Hinweis

dataset ist ein hartkodierter Name für den Eingabedatenrahmen (data.frame) eines beliebigen R-Visuals.

Erstellen eines R-Visuals und -Pakets in R-Code

  1. Führen Sie den folgenden Befehl aus, um ein neues R-gestütztes Visual zu erstellen:

    pbiviz new funnel-visual -t rvisual
    cd funnel-visual
    npm install 
    pbiviz package
    

    Mit diesem Befehl wird der Ordner funnel-visual mit einem ersten Vorlagenvisual erstellt (-t für template [Vorlage]). Die PBIVIZ-Tools finden Sie im Ordner dist, den R-Code in der Datei script.r. Versuchen Sie, diese Elemente in Power BI zu importieren, und warten Sie ab, was passiert.

  2. Bearbeiten Sie die Datei script.r, und ersetzen Sie den Inhalt durch Ihr vorheriges Skript.

  3. Bearbeiten Sie die Datei capabilities.json, und ersetzen Sie die Zeichenfolge Values durch dataset. Dadurch wird der Name von "Role" (Rolle) in der Vorlage durch den Namen ersetzt, der auch im R-Code verwendet wird.

    Screenshot: diff-Vergleich der Änderung in der JSON-Datei

  4. (optional) Bearbeiten Sie die Datei dependencies.json, und fügen Sie für jedes R-Paket, das für das R-Skript erforderlich ist, einen Abschnitt hinzu. Dadurch wird Power BI angewiesen, diese Pakete automatisch zu importieren, wenn das Visual zum ersten Mal geladen wird.

    Screenshot: diff-Vergleich, bei dem Inhalt zu den cranPackages-Elementen hinzugefügt wurde

  5. Packen Sie das Visual mit dem Befehl pbiviz package um, und versuchen Sie, es in Power BI zu importieren.

Hinweis

Dies sind die Downloadlinks für die PBIX-Datei und den Quellcode.

Durchführen von R-basierten Verbesserungen am Visual

Das Visual ist noch nicht benutzerfreundlich, weil der Benutzer die Reihenfolge der Spalten in der Eingabetabelle kennen muss.

  1. Unterteilen Sie das Eingabefeld dataset in drei Felder (Rollen): Population, Number und Tooltips.

    CV01to02

  2. Bearbeiten Sie capabilities.json, und ersetzen Sie die Rolle dataset durch die drei neuen Rollen, oder laden Sie capabilities.json herunter.

    Sie müssen die Abschnitte dataRoles und dataViewMappings aktualisieren, in denen die Namen, Typen, QuickInfos und maximalen Spaltenanzahlen für jedes Eingabefeld definiert werden.

    Vorher und nachher

    Weitere Informationen finden Sie unter Funktionen und Eigenschaften von Power BI-Visuals.

  3. Bearbeiten Sie script.r so, dass Population, Number und Tooltips statt dataset als Eingabedatenrahmen unterstützt werden, oder laden Sie script.r herunter.

    Skript

    Tipp

    Damit die Änderungen im R-Skript nachverfolgt werden, müssen Sie nach Kommentarblöcken suchen:

    #RVIZ_IN_PBI_GUIDE:BEGIN: Added to enable visual fields
    ...
    #RVIZ_IN_PBI_GUIDE:END: Added to enable visual fields
    
    #RVIZ_IN_PBI_GUIDE:BEGIN: Removed to enable visual fields 
    ...
    #RVIZ_IN_PBI_GUIDE:BEGIN: Removed to enable visual fields
    
  4. Packen Sie das Visual mit dem Befehl pbiviz package um, und versuchen Sie, es in Power BI zu importieren.

Hinweis

Dies sind die Downloadlinks für die PBIX-Datei und den Quellcode.

Hinzufügen von Benutzerparametern

  1. Fügen Sie Funktionen hinzu, mit denen Benutzer die Farben und Größen von Visuals steuern können, einschließlich der internen Parameter aus der Benutzeroberfläche.

    Screenshot: zwei Versionen des Toolbereichs mit Optionen, die der Version auf der rechten Seite hinzugefügt wurden

  2. Bearbeiten Sie capabilities.json, und aktualisieren Sie den Abschnitt objects. Hier werden die Namen, QuickInfos und Typen der einzelnen Parameter definiert. Außerdem wird in diesem Abschnitt die Partitionierung von Parametern in Gruppen festgelegt (in diesem Fall drei Gruppen).

    Downloadlink: capabilities.json, weitere Informationen zu Objekteigenschaften

    capabilities

  3. Bearbeiten Sie src/settings.ts so, dass die Datei dieser „settings.ts“-Datei entspricht. Diese Datei ist in TypeScript geschrieben.

    Dort finden Sie zwei Codeblöcke, die zu folgendem Zweck hinzugefügt werden:

    • Zum Deklarieren einer neuen Schnittstelle, die den Eigenschaftswert beinhaltet
    • Zum Definieren einer Membereigenschaft und der Standardwerte

    einstellungen

  4. Bearbeiten Sie script.r so, dass die Datei dieser „script.r“-Datei entspricht. Dadurch wird die Unterstützung für die Parameter in der Benutzeroberfläche hinzugefügt, indem pro Benutzerparameter if.exists-Aufrufe hinzugefügt werden.

    Tipp

    Damit die Änderungen im R-Skript nachverfolgt werden, müssen Sie nach Kommentaren suchen:

    #RVIZ_IN_PBI_GUIDE:BEGIN:Added to enable user parameters
     ...
    #RVIZ_IN_PBI_GUIDE:END:Added to enable user parameters
    
    #RVIZ_IN_PBI_GUIDE:BEGIN:Removed to enable user parameters 
     ...
    #RVIZ_IN_PBI_GUIDE:END:Removed to enable user parameters
    

    Skript vorher und nachher

    Sie müssen die Parameter nicht wie in diesem Beispiel für die Benutzeroberfläche verfügbar machen. Dies ist lediglich eine Option.

  5. Packen Sie das Visual mit dem Befehl pbiviz package um, und versuchen Sie, es in Power BI zu importieren.

Hinweis

Dies sind die Downloadlinks für die PBIX-Datei und den Quellcode.

Tipp

In diesem Abschnitt haben Sie Parameter mehrerer Typen (boolesch, numerisch, Zeichenfolge und Farbe) gleichzeitig hinzugefügt. In diesem Beispiel erfahren Sie, wie Sie einen einzelnen Parameter hinzufügen.

Konvertieren eines Visuals in ein RHTML-basiertes Visual

Da das resultierende Visual PNG-basiert ist, reagiert es nicht auf Maushoveraktionen, kann also beispielsweise nicht vergrößert werden. Daher muss es in ein HTML-basiertes Visual konvertiert werden. Dazu erstellen Sie eine leere, R-gestützte und HTML-basierte Vorlage für ein Visual und kopieren einige Skripts aus dem PNG-basierten Projekt.

  1. Führen Sie den folgenden Befehl aus:

    pbiviz new funnel-visual-HTML -t rhtml
    cd funnel-visual-HTML
    npm install 
    pbiviz package
    
  2. Öffnen Sie capabilities.json, und beachten Sie die Zeile "scriptOutputType":"html".

  3. Öffnen Sie die Datei dependencies.json, und beachten Sie die Namen der aufgelisteten R-Pakete.

  4. Öffnen Sie die Datei script.r, und beachten Sie die Struktur. Sie können die Datei in RStudio öffnen und ausführen, da keine externe Eingabe verwendet wird.

    Dadurch wird die Datei out.html erstellt und gespeichert. Diese Datei ist eigenständig (ohne externe Abhängigkeiten) und definiert die Grafiken im HTML-Widget.

    Wichtig

    Für htmlWidgets-Benutzer werden im Ordner „r_files“ R-Hilfsprogramme bereitgestellt, mit denen sich plotly- oder widget-Objekte in eigenständige HTML-Dateien konvertieren lassen.

    Diese Version von R-gestützten Visuals unterstützt (im Gegensatz zu vorherigen Visualtypen) auch den Befehl source, um den Code besser lesbar zu machen.

  5. Ersetzen Sie die Datei capabilities.json durch die capabilities.json-Datei aus dem vorherigen Schritt, oder laden Sie capabilities.json herunter.

    Folgendes sollten Sie unbedingt beibehalten:

    "scriptOutputType": "html"

  6. Führen Sie die neueste Version von script.r mit der Datei script.r aus der Vorlage zusammen, oder laden Sie script.r herunter.

    Das neue Skript verwendet das Paket plotly, um das ggplot-Objekt in ein plotly-Objekt zu konvertieren, und das Paket htmlWidgets, um es in einer HTML-Datei zu speichern.

    Die meisten Hilfsprogrammfunktionen werden zu r_files/utils.r verschoben, und die generateNiceTooltips-Funktion wird für die Darstellung des plotly-Objekts hinzugefügt.

    1

    2

    Tipp

    Damit die Änderungen im R-Skript nachverfolgt werden, müssen Sie nach Kommentaren suchen:

    #RVIZ_IN_PBI_GUIDE:BEGIN:Added to create HTML-based 
     ...
    #RVIZ_IN_PBI_GUIDE:BEGIN:Added to create HTML-based
    
    #RVIZ_IN_PBI_GUIDE:BEGIN:Removed to create HTML-based  
    ...
    #RVIZ_IN_PBI_GUIDE:BEGIN:Removed to create HTML-based
    
  7. Führen Sie die neueste Version der Datei dependencies.json mit der dependencies.json-Datei aus der Vorlage zusammen, um neue R-Paketabhängigkeiten einzuschließen, oder laden Sie dependencies.json herunter.

  8. Bearbeiten Sie src/settings.ts so, wie Sie es in den vorherigen Schritten getan.

  9. Packen Sie das Visual mit dem Befehl pbiviz package um, und versuchen Sie, es in Power BI zu importieren.

Hinweis

Dies sind die Downloadlinks für die PBIX-Datei und den Quellcode.

Erstellen zusätzlicher Beispiele

  1. Führen Sie den folgenden Befehl aus, um ein leeres Projekt zu erstellen:

    pbiviz new example -t rhtml
    cd example
    npm install 
    pbiviz package
    
  2. Nehmen Sie Code aus diesem Showcase, und nehmen Sie die hervorgehobenen Änderungen vor:

    Hervorgehobene Änderungen

  3. Ersetzen Sie die script.r-Datei der Vorlage, und führen Sie pbiviz package noch einmal aus. Nun ist das Visual in Ihrem Power BI-Bericht enthalten.

Tipps und Tricks

  • Es wird empfohlen, dass Entwickler die Datei pbiviz.json so konfigurieren, dass korrekte Metadaten wie die Version, die E-Mail, der Name, der Lizenztyp usw. gespeichert werden.

    Wichtig

    Das Feld guid ist der eindeutige Bezeichner für ein Visual. Wenn Sie für jedes Visual ein neues Projekt erstellen, ist auch die GUID jedes Mal eine andere. Sie bleibt nur gleich, wenn Sie ein altes Projekt für ein neues Visual verwenden. Davon wird jedoch abgeraten.

  • Bearbeiten Sie assets/icon.png, um eindeutige Symbole für Ihr Visual zu erstellen.

  • Wenn Sie R-Code mit denselben Daten wie im Power BI-Bericht in RStudio debuggen möchten, müssen Sie Folgendes am Anfang des R-Skripts einfügen (bearbeiten Sie die Variable fileRda):

    #DEBUG in RStudio
    fileRda = "C:/Users/yourUserName/Temp/tempData.Rda"
    if(file.exists(dirname(fileRda)))
    {
       if(Sys.getenv("RSTUDIO")!="")
         load(file= fileRda)
       else
         save(list = ls(all.names = TRUE), file=fileRda)
    }
    

    Dadurch wird die Umgebung aus einem Power BI-Bericht gespeichert und in RStudio geladen.

  • Sie müssen keine R-gestützten Visuals mit GitHub-Code neu entwickeln. Sie können einfach das Visual auswählen, das als Vorlage verwendet werden soll, und den Code in ein neues Projekt kopieren.

    Verwenden Sie z. B. das benutzerdefinierte Splinevisual.

  • Jedes R-Visual wendet den unique-Operator auf die Eingabetabelle an. Damit keine identischen Zeilen entfernt werden, sollten Sie ein zusätzliches Eingabefeld mit einer eindeutigen ID hinzufügen und es im R-Code ignorieren.

  • Wenn Sie ein Power BI-Konto haben, verwenden Sie besser den Power BI-Dienst, um Visuals nebenbei zu entwickeln, anstatt sie mit dem Befehl pbiviz package neu zu packen.

Im HTML-Widgetkatalog finden Sie Ideen für Ihr nächstes Visual. Darüber hinaus können Sie sich die Arbeit mit unserem Visualprojektrepository erleichtern, dass Ihnen mehr als 20 interaktive HTML-Visuals bietet.

Tipp

Wenn Sie zwischen HTML-Widgets wechseln möchten, klicken Sie auf Format>Einstellungen>Typ. Probieren Sie es anhand dieser PBIX-Datei aus.

So verwenden Sie ein Beispiel für Ihr Visual

  1. Laden Sie den gesamten Ordner herunter.
  2. Bearbeiten Sie script.r und dependencies.json, sodass nur ein Widget beibehalten wird.
  3. Bearbeiten Sie capabilities.json und settings.ts, sodass der Type-Selektor entfernt wird.
  4. Ändern Sie const updateHTMLHead: boolean = true; in visual.ts in false. (für eine höhere Leistung)
  5. Ändern Sie die Metadaten in pbiviz.json, vor allem im Feld guid.
  6. Packen Sie das Visual um, und passen Sie es wie gewünscht an.

Screenshot: sechs Widgets, die weiter oben in diesem Artikel bereits thematisiert wurden

Screenshot: sechs weitere Widgets, die weiter oben in diesem Artikel bereits thematisiert wurden

Hinweis

Nicht alle Widgets in diesem Projekt werden vom Dienst unterstützt.

Weitere Informationen finden Sie auch in den ergänzenden Power BI-Tutorials Entwickeln eines kreisförmigen Kartenvisuals in Power BI und R-Visuals.

Machen Sie sich mit der Entwicklung und Übermittlung von Visuals an den Office Store (Katalog) vertraut, oder sehen Sie sich die weiteren Beispiele im R-Skript-Showcase an.