Social Network Analysis Using Power BI and R: A Custom Visuals Guide

Veröffentlicht: 2022-07-22

Die Analyse sozialer Netzwerke wird schnell zu einem wichtigen Werkzeug, um eine Vielzahl von beruflichen Anforderungen zu erfüllen. Es kann Unternehmensziele wie gezieltes Marketing informieren und Sicherheits- oder Reputationsrisiken identifizieren. Die Analyse sozialer Netzwerke kann Unternehmen auch dabei helfen, interne Ziele zu erreichen: Sie bietet Einblicke in das Verhalten der Mitarbeiter und die Beziehungen zwischen verschiedenen Teilen eines Unternehmens.

Organisationen können eine Reihe von Softwarelösungen für die Analyse sozialer Netzwerke einsetzen; Jedes hat seine Vor- und Nachteile und ist für unterschiedliche Zwecke geeignet. Dieser Artikel konzentriert sich auf Power BI von Microsoft, eines der heute am häufigsten verwendeten Tools zur Datenvisualisierung. Während Power BI viele Add-Ons für soziale Netzwerke bietet, untersuchen wir benutzerdefinierte Visuals in R, um überzeugendere und flexiblere Ergebnisse zu erzielen.

Dieses Tutorial setzt ein Verständnis der grundlegenden Graphentheorie voraus, insbesondere gerichteter Graphen. Außerdem eignen sich spätere Schritte am besten für Power BI Desktop, das nur unter Windows verfügbar ist. Leser können den Power BI-Browser unter Mac OS oder Linux verwenden, aber der Power BI-Browser unterstützt bestimmte Funktionen nicht, z. B. das Importieren einer Excel-Arbeitsmappe.

Daten zur Visualisierung strukturieren

Die Erstellung sozialer Netzwerke beginnt mit der Erfassung von Verbindungsdaten (Edge). Verbindungsdaten enthalten zwei primäre Felder: den Quellknoten und den Zielknoten – die Knoten an beiden Enden der Kante. Über diese Knoten hinaus können wir Daten sammeln, um umfassendere visuelle Erkenntnisse zu gewinnen, die typischerweise als Knoten- oder Kanteneigenschaften dargestellt werden:

1) Knoteneigenschaften

  • Form oder Farbe : Gibt die Art des Benutzers an, z. B. Standort/Land des Benutzers
  • Größe : Zeigt die Wichtigkeit im Netzwerk an, zB die Anzahl der Follower des Nutzers
  • Bild : Funktioniert als individuelle Kennung, z. B. der Avatar eines Benutzers

2) Kanteneigenschaften

  • Farbe , Strich oder Pfeilspitze : Zeigt die Art der Verbindung an, z. B. die Stimmung des Posts oder Tweets, die die beiden Benutzer verbindet
  • Breite : Gibt die Stärke der Verbindung an, z. B. wie viele Erwähnungen oder Retweets zwischen zwei Benutzern in einem bestimmten Zeitraum beobachtet werden

Sehen wir uns ein Beispielbild für ein soziales Netzwerk an, um zu sehen, wie diese Eigenschaften funktionieren:

Ein Diagramm aus Kreisen, die durch Linien unterschiedlicher Breite verbunden sind, erscheint mit drei unterschiedlichen Abschnitten. Auf der linken Seite des Diagramms befinden sich sechs grüne Formen in verschiedenen Größen, die mit 1, 2, 3, 4, 5 und 6 in einem Sechseck gekennzeichnet sind. Die Zahlen 1-5 sind Kreise, während 6 eine Raute ist. Sie sind durch grüne Pfeile unterschiedlicher Breite und Richtung miteinander verbunden, und einige Pfeilspitzen sind grün gefüllt, während andere nicht gefüllt sind. Rechts von den grünen Formen befindet sich der nächste Abschnitt: drei dunkelblaue Formen, die in einem Dreieck angeordnet sind und mit 7, 8 und 9 gekennzeichnet sind und durch blaue Pfeile unterschiedlicher Breite und Richtung miteinander verbunden sind (mit einigen blau gefüllten Pfeilspitzen). Die Knoten 7 und 9 sind mit den Knoten 3 und 4 mit grauen Pfeilen unterschiedlicher Breite und Richtung verbunden (wobei einige Pfeilspitzen grau ausgefüllt sind). In der Mitte des Diagramms, unter den ersten beiden Formgruppen, befindet sich eine einzelne hellblaue Raute mit der Bezeichnung 10. Sie ist mit den Knoten 5, 4 und 9 durch gepunktete graue Pfeile unterschiedlicher Breite und Richtung verbunden (wobei einige Pfeilspitzen grau gefüllt sind). .
Grüne, hellblaue und dunkelblaue Knoten und unterschiedliche Kreis- oder Rautenformen veranschaulichen unterschiedliche Knotentypen. Zahlen mit transparentem Hintergrund fungieren als Knotenbildidentifikatoren, und größere Knoten (z. B. Knoten 4) sind im Netzwerk wichtiger. Unterschiedliche Kantentypen werden durch Farbe (grün, blau oder grau), Strich (durchgehend oder gepunktet) und Pfeilspitzen (leer oder gefüllt) angezeigt; Kantenbreite zeigt Stärke (z. B. ist die Verbindung von Knoten 8 zu Knoten 9 stark).

Wir können auch Schwebetext verwenden, um die obigen Parameter zu ergänzen oder zu ersetzen, da er andere Informationen unterstützen kann, die nicht einfach durch Knoten- oder Kanteneigenschaften ausgedrückt werden können.

Vergleich der Erweiterungen für soziale Netzwerke von Power BI

Nachdem wir die verschiedenen Datenfeatures eines sozialen Netzwerks definiert haben, untersuchen wir die Vor- und Nachteile von vier beliebten Tools, die zur Visualisierung von Netzwerken in Power BI verwendet werden.

Verlängerung Social Network Graph von Arthur Graus Netzwerknavigator Erweiterte Netzwerke von ZoomCharts (Light Edition) Benutzerdefinierte Visualisierungen mit R
Dynamische Knotengröße Ja Ja Ja Ja
Dynamische Randgröße Nein Ja Nein Ja
Anpassung der Knotenfarbe Ja Ja Nein Ja
Komplexe Verarbeitung sozialer Netzwerke Nein Ja Ja Ja
Profilbilder für Knoten Ja Nein Nein Ja
Einstellbarer Zoom Nein Ja Ja Ja
Top-N-Verbindungsfilterung Nein Nein Nein Ja
Benutzerdefinierte Informationen beim Hover Nein Nein Nein Ja
Anpassung der Kantenfarbe Nein Nein Nein Ja
Andere erweiterte Funktionen Nein Nein Nein Ja


Social Network Graph von Arthur Graus, Network Navigator und Advanced Networks von ZoomCharts (Light Edition) sind alle geeignete Erweiterungen, um einfache soziale Netzwerke zu entwickeln und mit Ihrer ersten Analyse sozialer Netzwerke zu beginnen.

Viele dunkelblaue, hellblaue und orangefarbene Kreise (50+ Kreise) sind durch dünne graue Linien auf weißem Hintergrund verbunden. Die Kreise haben einen einfarbigen Rand und sind mit kleinen Bildern verschiedener Pokémon gefüllt, die einen weißen Hintergrund haben, und die Kreise blockieren die Sicht auf die meisten grauen Linien. Sie bilden insgesamt eine Kreisform.
Eine Beispielvisualisierung, die mit der Erweiterung „Social Network Graph by Arthur Graus“ erstellt wurde.

Viele blaue, violette und graue Kreise (50+ Kreise) sind durch dünne graue Linien auf weißem Hintergrund verbunden. Die Kreise sind durchgehend und gefüllt und versperren die Sicht auf einige der grauen Linien. Sie bilden insgesamt eine kreisförmige Anordnung.
Eine Beispielvisualisierung, die mit der Network Navigator-Erweiterung erstellt wurde.

Viele große blaugrüne und kleine orangefarbene Kreise (50+ Kreise) sind durch dünne graue Linien auf weißem Hintergrund verbunden. Die Kreise sind ausgefüllt und ausgefüllt, und die meisten grauen Linien sind sichtbar. Sie bilden insgesamt eine horizontale Keilform, wobei auf der rechten Seite dichter besiedelte Kreise erscheinen. Unten links im Diagramm befinden sich einige Widget-Symbole und zwei beschriftete Kreise: ein blaugrüner Kreis mit der Aufschrift „Von Benutzer“ und ein orangefarbener Kreis mit der Aufschrift „An Benutzer“. Unten rechts auf dem Diagramm befindet sich ein Logo mit der Aufschrift „Zoomdiagramme“.
Eine Beispielvisualisierung, die mit der Erweiterung Advanced Networks by ZoomCharts (Light Edition) erstellt wurde.

Wenn Sie jedoch Ihre Daten zum Leben erwecken und bahnbrechende Erkenntnisse mit aufmerksamkeitsstarken Visuals aufdecken möchten oder wenn Ihr soziales Netzwerk besonders komplex ist, empfehle ich Ihnen, Ihre benutzerdefinierten Visuals in R zu entwickeln.

Viele grüne, blaue und violette Kreise (50+ Kreise) sind durch dünne Linien in verschiedenen Farben (grün, grau und rot) auf weißem Hintergrund verbunden. Die Kreise sind solide und in ihrer Mitte mit einem Pokemon-Bild gefüllt, und die meisten der dünnen Linien sind sichtbar. Sie bilden insgesamt eine ausgebreitete Kreisform, wobei sich die grünen Kreise häufig in kleinere blaue oder violette Kreise verzweigen. In der oberen rechten Ecke des Diagramms steht der Text „Soziale Netzwerke“, und unter dem Diagramm befindet sich eine Legende aus Linien und Kreisen mit zugehörigem Text: eine grüne Linie mit dem Text „Positiv“, eine graue Linie mit dem Text „Neutral“, eine rote Linie mit dem Text „Negativ“, ein blauer Kreis mit dem Text „Erwähnung“ und ein violetter Kreis mit dem Text „Retweet“.
Eine Beispielvisualisierung, die mit benutzerdefinierten Visuals in R erstellt wurde.

Diese benutzerdefinierte Visualisierung ist das Endergebnis der Social-Network-Erweiterung unseres Tutorials in R und demonstriert die große Vielfalt an Features und Knoten-/Edge-Eigenschaften, die von R angeboten werden.

Erstellen einer Erweiterung für soziale Netzwerke für Power BI mit R

Das Erstellen einer Erweiterung zur Visualisierung sozialer Netzwerke in Power BI mit R umfasst fünf verschiedene Schritte. Aber bevor wir unsere Erweiterung für soziale Netzwerke erstellen können, müssen wir unsere Daten in Power BI laden.

Voraussetzung: Sammeln und Vorbereiten von Daten für Power BI

Sie können diesem Tutorial mit einem Testdatensatz folgen, der auf Twitter- und Facebook-Daten basiert, oder mit Ihrem eigenen sozialen Netzwerk fortfahren. Unsere Daten wurden randomisiert; Sie können auf Wunsch echte Twitter-Daten herunterladen. Nachdem Sie die erforderlichen Daten erfasst haben, fügen Sie sie Power BI hinzu (z. B. durch Importieren einer Excel-Arbeitsmappe oder manuelles Hinzufügen von Daten). Ihr Ergebnis sollte der folgenden Tabelle ähneln:

Es erscheint eine Tabelle mit dreizehn abwechselnd grauen und weißen Zeilen. Es hat einen Titel – „Social Network“ – mit Kopfzeilen darunter. Die erste Spalte ist mit "From User" bezeichnet und enthält acht "1"-Texte, gefolgt von fünf "2"-Texten. Die zweite Spalte trägt die Bezeichnung „An Benutzer“ und lautet (von oben nach unten): 2, 3, 5, 6, 7, 8, 9, 10, 7, 8, 11, 13, 14. Die dritte Spalte trägt die Bezeichnung „ Number of Connections“ und liest (von oben nach unten): 12, 46, 29, 79, 49, 11, 90, 100, 66, 29, 62, 13, 45. Die vierte Spalte ist mit „Type“ beschriftet und lautet ( von oben nach unten): Retweet, Erwähnung, Erwähnung, Retweet, Retweet, Retweet, Erwähnung, Erwähnung, Retweet, Retweet, Retweet, Retweet, Erwähnung. Die fünfte Spalte trägt die Bezeichnung „Stimmung“ und lautet (von oben nach unten): Positiv, Positiv, Negativ, Neutral, Positiv, Negativ, Positiv, Neutral, Neutral, Negativ, Negativ, Negativ, Negativ. Die sechste Spalte trägt die Bezeichnung „From User Name“ und enthält acht „Aaliyah“-Texte, gefolgt von fünf „Aaron“-Texten. Die siebte Spalte lautet „Zum Benutzernamen“ und lautet (von oben nach unten): Aaron, Abel, Abraham, Ace, Adalyn, Adalynn mit zwei Ns, Adam, Addison, Adalyn, Adalynn mit zwei Ns, Adeline, Adriel, Aidan. Die achte Spalte lautet „From Avatar“ und enthält acht „https://raychemmedica.com/SampleImages/Pokemon/1.png“-Texte, gefolgt von fünf „https://raychemmedica.com/SampleImages/Pokemon/2.png“-Texten . Die neunte Spalte lautet „To Avatar“ und jeder Eintrag hat den Text „https://raychemmedica.com/SampleImages/Pok“ und scheint abgeschnitten zu sein.

Sobald Sie Ihre Daten eingerichtet haben, können Sie eine benutzerdefinierte Visualisierung erstellen.

Schritt 1: Richten Sie die Visualisierungsvorlage ein

Die Entwicklung einer Power BI-Visualisierung ist nicht einfach – selbst einfache Visualisierungen erfordern Tausende von Dateien. Glücklicherweise bietet Microsoft eine Bibliothek namens pbiviz an, die die erforderlichen infrastrukturunterstützenden Dateien mit nur wenigen Codezeilen bereitstellt. Die pbiviz Bibliothek verpackt auch alle unsere endgültigen Dateien in eine .pbiviz -Datei, die wir als Visualisierung direkt in Power BI laden können.

Am einfachsten lässt sich pbiviz mit Node.js installieren. Sobald pbiviz installiert ist, müssen wir unser benutzerdefiniertes R-Visual über die Befehlszeilenschnittstelle unseres Computers initialisieren:

 pbiviz new toptalSocialNetworkByBharatGarg -t rhtml cd toptalSocialNetworkByBharatGarg npm install pbiviz package

Vergessen Sie nicht, toptalSocialNetworkByBharatGarg durch den gewünschten Namen für Ihre Visualisierung zu ersetzen. -t rhtml informiert das pbiviz Paket, dass es eine Vorlage erstellen soll, um R-basierte HTML-Visualisierungen zu entwickeln. Sie werden Fehler sehen, weil wir noch keine Felder wie den Namen und die E-Mail-Adresse des Autors in unserem Paket angegeben haben, aber wir werden diese später im Tutorial beheben. Wenn das pbiviz Skript überhaupt nicht in PowerShell ausgeführt wird, müssen Sie möglicherweise zuerst Skripts mit Set-ExecutionPolicy RemoteSigned .

Bei erfolgreicher Ausführung des Codes sehen Sie einen Ordner mit folgender Struktur:

Eine Datei-Explorer-Liste mit acht Unterordnern (.tmp, .vscode, assets, dist, node_modules, r_files, src und style) und acht Dateien (capabilities.json,dependencies.json, package.json, package-lock.json, pbiviz .json, script.r, tsconfig.json und tslint.json). Alle Dateien sind 1 KB groß, mit Ausnahme von Capabilities.json (2 KB) und Package-Lock.json (23 KB).

Sobald wir die Ordnerstruktur fertig haben, können wir den R-Code für unsere benutzerdefinierte Visualisierung schreiben.

Schritt 2: Codieren Sie die Visualisierung in R

Das im ersten Schritt erstellte Verzeichnis enthält eine Datei namens script.r , die aus Standardcode besteht. (Der Standardcode erstellt eine einfache Power BI-Erweiterung, die die in R verfügbare iris -Beispieldatenbank verwendet, um ein Histogramm von Petal.Length nach Petal.Species zu zeichnen.) Wir aktualisieren den Code, behalten aber seine Standardstruktur bei, einschließlich der kommentierten Abschnitte.

Unser Projekt verwendet drei R-Bibliotheken:

  • DiagrammeR: Erstellt Diagramme aus Text
  • visNetwork: Bietet interaktive Netzwerkvisualisierungen
  • data.table: Hilft bei der Datenorganisation, ähnlich wie data.frame

Lassen Sie uns den Code im Abschnitt „ Library Declarations “ von script.r , um unsere Bibliotheksnutzung widerzuspiegeln:

 libraryRequireInstall("DiagrammeR") libraryRequireInstall("visNetwork") libraryRequireInstall("data.table")

Als nächstes ersetzen wir den Code im Abschnitt Actual code durch unseren R-Code. Bevor wir unsere Visualisierung erstellen, müssen wir zunächst unsere Daten lesen und verarbeiten. Wir nehmen zwei Eingaben von Power BI:

  • num_records : Die numerische Eingabe N , sodass wir nur die Top- N -Verbindungen aus unserem Netzwerk auswählen (um die Anzahl der angezeigten Verbindungen zu begrenzen)
  • dataset : Unsere sozialen Netzwerkknoten und -kanten

Um die N Verbindungen zu berechnen, die wir darstellen werden, müssen wir den Wert num_records aggregieren, da Power BI standardmäßig einen Vektor anstelle eines einzelnen numerischen Werts bereitstellt. Eine Aggregationsfunktion wie max erreicht dieses Ziel:

 limit_connection <- max(num_records)

Wir werden dataset jetzt als data.table Objekt mit benutzerdefinierten Spalten lesen. Wir sortieren den Datensatz nach Wert in absteigender Reihenfolge, um die häufigsten Verbindungen oben in der Tabelle zu platzieren. Dadurch wird sichergestellt, dass wir die wichtigsten Datensätze zum Plotten auswählen, wenn wir unsere Verbindungen mit num_records :

 dataset <- data.table(from = dataset[[1]] ,to = dataset[[2]] ,value = dataset[[3]] ,col_sentiment = dataset[[4]] ,col_type = dataset[[5]] ,from_name = dataset[[6]] ,to_name = dataset[[7]] ,from_avatar = dataset[[8]] ,to_avatar = dataset[[9]])[ order(-value)][ seq(1, min(nrow(dataset), limit_connection))]

Als nächstes müssen wir unsere Benutzerinformationen vorbereiten, indem wir jedem Benutzer eindeutige Benutzer-IDs ( uid ) erstellen und zuweisen und diese in einer neuen Tabelle speichern. Wir berechnen auch die Gesamtzahl der Benutzer und speichern diese Informationen in einer separaten Variablen namens num_nodes :

 user_ids <- data.table(id = unique(c(dataset$from, dataset$to)))[, uid := 1:.N] num_nodes <- nrow(user_ids)

Aktualisieren wir unsere Benutzerinformationen mit zusätzlichen Eigenschaften, darunter:

  • Die Anzahl der Follower (Größe des Knotens).
  • Die Anzahl der Datensätze.
  • Der Benutzertyp (Farbcodes).
  • Avatar-Links.

Wir werden die merge von R verwenden, um die Tabelle zu aktualisieren:

 user_ids <- merge(user_ids, dataset[, .(num_follower = uniqueN(to)), from], by.x = 'id', by.y = 'from', all.x = T)[is.na(num_follower), num_follower := 0][, size := num_follower][num_follower > 0, size := size + 50][, size := size + 10] user_ids <- merge(user_ids, dataset[, .(sum_val = sum(value)), .(to, col_type)][order(-sum_val)][, id := 1:.N, to][id == 1, .(to, col_type)], by.x = 'id', by.y = 'to', all.x = T) user_ids[id %in% dataset$from, col_type := '#42f548'] user_ids <- merge(user_ids, unique(rbind(dataset[, .('id' = from, 'Name' = from_name, 'avatar' = from_avatar)], dataset[, .('id' = to, 'Name' = to_name, 'avatar' = to_avatar)])), by = 'id')

Wir fügen auch unsere erstellte uid zum ursprünglichen Datensatz hinzu, damit wir die Benutzer-IDs from und to später im Code abrufen können:

 dataset <- merge(dataset, user_ids[, .(id, uid)], by.x = "from", by.y = "id") dataset <- merge(dataset, user_ids[, .(id, uid_retweet = uid)], by.x = "to", by.y = "id") user_ids <- user_ids[order(uid)]

Als nächstes erstellen wir Knoten- und Kantendatenrahmen für die Visualisierung. Wir wählen den style und die shape unserer Knoten (gefüllte Kreise) und wählen die richtigen Spalten unserer Tabelle user_ids aus, um die Attribute color , data , value und image unserer Knoten zu füllen:

 nodes <- create_node_df(n = num_nodes, type = "lower",, color = user_ids$col_type, shape = 'circularImage', data = user_ids$uid, value = user_ids$size, image = user_ids$avatar, title = paste0("<p>Name: <b>", user_ids$Name,"</b><br>", "Super UID <b>", user_ids$id, "</b><br>", "# followers <b>", user_ids$num_follower, "</b><br>", "</p>") )

Auf ähnliche Weise wählen wir die Spalten der dataset aus, die den Attributen from , to und color unserer Kanten entsprechen:

 edges <- create_edge_df(from = dataset$uid, to = dataset$uid_retweet, arrows = "to", color = dataset$col_sentiment)

Nachdem die Knoten- und Kantendatenrahmen fertig sind, erstellen wir schließlich unsere Visualisierung mit der visNetwork Bibliothek und speichern sie in einer Variablen namens p , die der Standardcode später verwenden wird:

 p <- visNetwork(nodes, edges) %>% visOptions(highlightNearest = list(enabled = TRUE, degree = 1, hover = T)) %>% visPhysics(stabilization = list(enabled = FALSE, iterations = 10), adaptiveTimestep = TRUE, barnesHut = list(avoidOverlap = 0.2, damping = 0.15, gravitationalConstant = -5000))

Hier passen wir einige Netzwerkvisualisierungskonfigurationen in visOptions und visPhysics an. Fühlen Sie sich frei, die Dokumentationsseiten durchzusehen und diese Optionen nach Bedarf zu aktualisieren. Unser Abschnitt Actual code ist jetzt vollständig, und wir sollten den Abschnitt Create and save widget aktualisieren, indem wir die Zeile p = ggplotly(g); da wir unsere eigene Visualisierungsvariable p kodiert haben.

Schritt 3: Bereiten Sie die Visualisierung für Power BI vor

Nachdem wir die Codierung in R abgeschlossen haben, müssen wir bestimmte Änderungen an unseren unterstützenden JSON-Dateien vornehmen, um die Visualisierung für die Verwendung in Power BI vorzubereiten.

Beginnen wir mit der capabilities.json -Datei. Es enthält die meisten Informationen, die Sie auf der Registerkarte „ Visualisierungen “ für ein Visual sehen, z. B. die Datenquellen unserer Erweiterung und andere Einstellungen. Zuerst müssen wir dataRoles aktualisieren und den vorhandenen Wert durch neue Datenrollen für unsere dataset und num_records Eingaben ersetzen:

 # ... "dataRoles": [ { "displayName": "dataset", "description": "Connection Details - From, To, # of Connections, Sentiment Color, To Node Type Color", "kind": "GroupingOrMeasure", "name": "dataset" }, { "displayName": "num_records", "description": "number of records to keep", "kind": "Measure", "name": "num_records" } ], # ...

In unserer capabilities.json -Datei aktualisieren wir auch den Abschnitt dataViewMappings . Wir fügen conditions hinzu, denen unsere Eingaben entsprechen müssen, und aktualisieren scriptResult , damit es unseren neuen Datenrollen und ihren Bedingungen entspricht. Änderungen finden Sie im Abschnitt " conditions " zusammen mit dem Abschnitt " select " unter scriptResult :

 # ... "dataViewMappings": [ { "conditions": [ { "dataset": { "max": 20 }, "num_records": { "max": 1 } } ], "scriptResult": { "dataInput": { "table": { "rows": { "select": [ { "for": { "in": "dataset" } }, { "for": { "in": "num_records" } } ], "dataReductionAlgorithm": { "top": {} } } } }, # ...

Kommen wir zu unserer Datei " dependencies.json ". Hier fügen wir drei zusätzliche Pakete unter cranPackages , damit Power BI die erforderlichen Bibliotheken identifizieren und installieren kann:

 { "name": "data.table", "displayName": "data.table", "url": "https://cran.r-project.org/web/packages/data.table/index.html" }, { "name": "DiagrammeR", "displayName": "DiagrammeR", "url": "https://cran.r-project.org/web/packages/DiagrammeR/index.html" }, { "name": "visNetwork", "displayName": "visNetwork", "url": "https://cran.r-project.org/web/packages/visNetwork/index.html" },

Hinweis: Power BI sollte diese Bibliotheken automatisch installieren, aber wenn Bibliotheksfehler auftreten, versuchen Sie, den folgenden Befehl auszuführen:

 install.packages(c("DiagrammeR", "htmlwidgets", "visNetwork", "data.table", "xml2"))

Zuletzt fügen wir der Datei pbiviz.json relevante Informationen für unser Visual hinzu. Ich würde empfehlen, die folgenden Felder zu aktualisieren:

  • Das Beschreibungsfeld des Visuals
  • Die Support-URL des Visuals
  • Die GitHub-URL des Visuals
  • Der Name des Autors
  • E-Mail des Autors

Jetzt wurden unsere Dateien aktualisiert und wir müssen die Visualisierung über die Befehlszeile neu packen:

 pbiviz package

Bei erfolgreicher Ausführung des Codes sollte eine .pbiviz -Datei im dist -Verzeichnis erstellt werden. Der gesamte in diesem Tutorial behandelte Code kann auf GitHub angezeigt werden.

Schritt 4: Importieren Sie die Visualisierung in Power BI

Um Ihre neue Visualisierung in Power BI zu importieren, öffnen Sie Ihren Power BI-Bericht (entweder einen für vorhandene Daten oder einen, der während unseres Schritts Voraussetzung mit Testdaten erstellt wurde) und navigieren Sie zur Registerkarte Visualisierungen . Klicken Sie auf die Schaltfläche [weitere Optionen] und wählen Sie Visual aus einer Datei importieren aus . Hinweis: Möglicherweise müssen Sie zuerst in einem Browser Bearbeiten auswählen, damit die Registerkarte „ Visualisierungen “ angezeigt wird.

Es erscheint ein Bereich mit dem Titel „Visualisierungen“ und zwei „>“-Pfeilen rechts daneben. Unten der Text „Visual erstellen“ mit zwei Bildern darunter: zwei gelbe Rechtecke und eine Linie auf der linken Seite und ein Papier und ein Pinsel auf der rechten Seite. Das Bild mit den zwei gelben Rechtecken ist ausgewählt und darunter befindet sich ein Feld mit mehr als 30 verschiedenen Diagrammsymbolen. Das letzte Symbol ist eine Ellipse mit dem Hover-Text „Get more visuals“. Unter dem Symbolfeld der Text „Werte“ mit einer Textzeile darunter, die lautet: „Hier Datenfelder hinzufügen.“ Darunter der Text „Drill Through“, gefolgt von „Cross-Report“ mit einem daneben ausgewählten Optionsfeld „Off“.

Navigieren Sie zum dist -Verzeichnis Ihres Visualisierungsordners und wählen Sie die .pbiviz -Datei aus, um Ihr Visual nahtlos in Power BI zu laden.

Schritt 5: Erstellen Sie die Visualisierung in Power BI

Die importierte Visualisierung ist jetzt im Visualisierungsbereich verfügbar. Klicken Sie auf das Visualisierungssymbol, um es zu Ihrem Bericht hinzuzufügen, und fügen Sie dann relevante Spalten zu den Eingaben dataset und num_records :

Es wird ein Bereich mit einem ausgewählten Werkzeugsymbol mit dem Hover-Text „toptalSocialNetworkByBharatGarg“ angezeigt. Unterhalb des Symbols erscheint der Text „Datensatz“ mit verschiedenen Dropdown-Rechtecken darunter (von oben nach unten): Von Benutzer, An Benutzer, Anzahl der Verbindungen, Farbe, Farbe, Benutzername, Benutzername, Avatar, Avatar.

Je nach Ihren Projektanforderungen können Sie Ihrer Visualisierung zusätzlichen Text, Filter und Funktionen hinzufügen. Ich empfehle Ihnen außerdem, die ausführliche Dokumentation zu den drei von uns verwendeten R-Bibliotheken durchzugehen, um Ihre Visualisierungen weiter zu verbessern, da unser Beispielprojekt nicht alle Anwendungsfälle der verfügbaren Funktionen abdecken kann.

Aktualisieren Sie Ihre nächste Analyse sozialer Netzwerke

Unser Endergebnis ist ein Beweis für die Leistungsfähigkeit und Effizienz von R bei der Erstellung benutzerdefinierter Power BI-Visualisierungen. Probieren Sie die Analyse sozialer Netzwerke mit benutzerdefinierten Visualisierungen in R für Ihren nächsten Datensatz aus und treffen Sie intelligentere Entscheidungen mit umfassenden Datenerkenntnissen.

Der Toptal Engineering Blog dankt Leandro Roser für die Überprüfung der in diesem Artikel vorgestellten Codebeispiele.

Von oben nach unten erscheinen die Wörter „Gold“ (goldfarben), „Microsoft“ und „Partner“ (beide in Schwarz), gefolgt vom Microsoft-Logo.
Als Microsoft Gold Partner ist Toptal Ihr Elite-Netzwerk von Microsoft-Experten. Bauen Sie leistungsstarke Teams mit den Experten auf, die Sie brauchen – überall und genau dann, wenn Sie sie brauchen!