Analiza sieci społecznościowych za pomocą Power BI i R: przewodnik po niestandardowych wizualizacjach

Opublikowany: 2022-07-22

Analiza sieci społecznościowych szybko staje się ważnym narzędziem służącym do zaspokajania różnorodnych potrzeb zawodowych. Może informować o celach korporacyjnych, takich jak ukierunkowany marketing i identyfikować zagrożenia bezpieczeństwa lub reputacji. Analiza sieci społecznościowych może również pomóc firmom osiągnąć cele wewnętrzne: zapewnia wgląd w zachowania pracowników i relacje między różnymi częściami firmy.

Organizacje mogą wykorzystywać szereg rozwiązań programowych do analizy sieci społecznościowych; każdy ma swoje plusy i minusy i nadaje się do różnych celów. Ten artykuł koncentruje się na Power BI firmy Microsoft, jednym z najczęściej używanych obecnie narzędzi do wizualizacji danych. Chociaż usługa Power BI oferuje wiele dodatków do sieci społecznościowych, będziemy badać niestandardowe wizualizacje w języku R, aby tworzyć bardziej atrakcyjne i elastyczne wyniki.

Ten samouczek zakłada zrozumienie podstawowej teorii grafów, w szczególności grafów skierowanych. Ponadto późniejsze kroki najlepiej nadają się do programu Power BI Desktop, który jest dostępny tylko w systemie Windows. Czytelnicy mogą używać przeglądarki Power BI w systemie Mac OS lub Linux, ale przeglądarka Power BI nie obsługuje niektórych funkcji, takich jak importowanie skoroszytu programu Excel.

Strukturyzacja danych do wizualizacji

Tworzenie sieci społecznościowych zaczyna się od zebrania danych o połączeniach (krawędzi). Dane dotyczące połączeń zawierają dwie podstawowe zmienne: węzeł źródłowy i węzeł docelowy — węzły na każdym końcu krawędzi. Poza tymi węzłami możemy zbierać dane w celu uzyskania bardziej kompleksowych informacji wizualnych, zwykle reprezentowanych jako właściwości węzła lub krawędzi:

1) Właściwości węzła

  • Kształt lub kolor : wskazuje typ użytkownika, np. lokalizację/kraj użytkownika
  • Rozmiar : wskazuje na znaczenie w sieci, np. liczbę obserwujących użytkownika
  • Obraz : działa jako indywidualny identyfikator, np. awatar użytkownika

2) Właściwości krawędzi

  • Połączenie koloru , obrysu lub grotu strzałki : wskazuje rodzaj połączenia, np. nastroje posta lub tweeta łączące dwóch użytkowników
  • Szerokość : wskazuje siłę połączenia, np. ile wzmianek lub retweetów jest obserwowanych między dwoma użytkownikami w danym okresie

Przyjrzyjmy się przykładowej wizualizacji sieci społecznościowej, aby zobaczyć, jak działają te właściwości:

Pojawia się wykres okręgów połączonych liniami o różnej szerokości z trzema odrębnymi sekcjami. Po lewej stronie wykresu znajduje się sześć zielonych kształtów o różnych rozmiarach, oznaczonych jako 1, 2, 3, 4, 5 i 6 w sześciokącie. Liczby 1-5 to koła, a 6 to diament. Są one połączone zielonymi strzałkami o różnych szerokościach i kierunkach, a niektóre groty są wypełnione na zielono, podczas gdy inne nie są wypełnione. Na prawo od zielonych kształtów znajduje się następna sekcja: trzy ciemnoniebieskie kształty ułożone w trójkącie oznaczone jako 7, 8 i 9, połączone niebieskimi strzałkami o różnych szerokościach i kierunkach (z niektórymi grotami wypełnionymi na niebiesko). Węzły 7 i 9 są połączone z węzłami 3 i 4 szarymi strzałkami o różnych szerokościach i kierunkach (z niektórymi grotami wypełnionymi na szaro). W środku wykresu, poniżej dwóch pierwszych grup kształtów, znajduje się pojedynczy jasnoniebieski romb oznaczony 10. Jest on połączony z węzłami 5, 4 i 9 za pomocą przerywanych szarych strzałek o różnych szerokościach i kierunkach (z niektórymi grotami wypełnionymi na szaro) .
Węzły zielone, jasnoniebieskie i ciemnoniebieskie oraz różne kształty okręgów lub rombu przedstawiają różne typy węzłów. Liczby z przezroczystym tłem pełnią rolę identyfikatorów obrazu węzła, a większe węzły (takie jak węzeł 4) są ważniejsze w sieci. Różne typy krawędzi są oznaczone kolorem (zielony, niebieski lub szary), obrysem (pełny lub kropkowany) i grotem strzałki (pustym lub wypełnionym); szerokość krawędzi pokazuje siłę (na przykład połączenie z węzła 8 do węzła 9 jest silne).

Możemy również użyć tekstu najechania kursorem, aby uzupełnić lub zastąpić powyższe parametry, ponieważ może on obsługiwać inne informacje, których nie można łatwo wyrazić za pomocą właściwości węzła lub krawędzi.

Porównanie rozszerzeń sieci społecznościowych Power BI

Po zdefiniowaniu różnych funkcji danych sieci społecznościowej przyjrzyjmy się zaletom i wadom czterech popularnych narzędzi używanych do wizualizacji sieci w Power BI.

Rozbudowa Wykres sieci społecznościowej autorstwa Arthura Grausa Nawigator sieci Zaawansowane sieci od ZoomCharts (Light Edition) Wizualizacje niestandardowe za pomocą R
Dynamiczny rozmiar węzła TAk TAk TAk TAk
Dynamiczny rozmiar krawędzi Nie TAk Nie TAk
Dostosowanie koloru węzła TAk TAk Nie TAk
Kompleksowe przetwarzanie sieci społecznościowych Nie TAk TAk TAk
Obrazy profilowe dla węzłów TAk Nie Nie TAk
Regulowany zoom Nie TAk TAk TAk
Filtrowanie najlepszych N połączeń Nie Nie Nie TAk
Informacje niestandardowe po najechaniu kursorem Nie Nie Nie TAk
Dostosowanie koloru krawędzi Nie Nie Nie TAk
Inne zaawansowane funkcje Nie Nie Nie TAk


Social Network Graph autorstwa Arthura Grausa, Network Navigator i Advanced Networks autorstwa ZoomCharts (Light Edition) to rozszerzenia odpowiednie do tworzenia prostych sieci społecznościowych i rozpoczęcia pierwszej analizy sieci społecznościowych.

Wiele ciemnoniebieskich, jasnoniebieskich i pomarańczowych kółek (50+ kółek) jest połączonych cienkimi szarymi liniami na białym tle. Koła mają obramowanie w jednolitym kolorze i są wypełnione małymi obrazkami różnych Pokemonów, które mają białe tło, a koła blokują widok większości szarych linii. Tworzą ogólnie okrągły kształt.
Przykładowa wizualizacja wykonana za pomocą rozszerzenia Social Network Graph autorstwa Arthura Grausa.

Wiele niebieskich, fioletowych i szarych kółek (50+ kółek) jest połączonych cienkimi szarymi liniami na białym tle. Okręgi są pełne i wypełnione i blokują widok niektórych szarych linii. Całość tworzą okrągły układ.
Przykładowa wizualizacja wykonana za pomocą rozszerzenia Network Navigator.

Wiele dużych turkusowych i małych pomarańczowych kółek (50+ kółek) jest połączonych cienkimi szarymi liniami na białym tle. Okręgi są pełne i wypełnione, a większość szarych linii jest widoczna. Tworzą one ogólnie poziomy kształt klina, z gęściej zaludnionymi kręgami pojawiającymi się po prawej stronie. W lewym dolnym rogu wykresu znajduje się kilka ikon widżetów i dwa kółka z etykietami: turkusowe kółko z napisem „Od użytkownika” i pomarańczowe kółko z napisem „Do użytkownika”. W prawym dolnym rogu wykresu znajduje się logo z napisem „zoomcharts”.
Przykładowa wizualizacja wykonana przy użyciu rozszerzenia Advanced Networks by ZoomCharts (Light Edition).

Jeśli jednak chcesz ożywić swoje dane i odkryć przełomowe spostrzeżenia za pomocą przyciągających uwagę wizualizacji lub jeśli Twoja sieć społecznościowa jest szczególnie złożona, zalecamy opracowanie niestandardowych wizualizacji w języku R.

Wiele zielonych, niebieskich i fioletowych kółek (50+ kółek) jest połączonych cienkimi liniami w różnych kolorach (zielony, szary i czerwony) na białym tle. Kręgi są pełne i wypełnione obrazem Pokemona w ich środku, a większość cienkich linii jest widoczna. Tworzą ogólnie rozłożysty, okrągły kształt, z zielonymi okręgami często rozgałęziającymi się w kierunku mniejszych niebieskich lub fioletowych okręgów. W prawym górnym rogu wykresu znajduje się tekst „Sieć społecznościowa”, a pod wykresem znajduje się legenda linii i okręgów z powiązanym tekstem: zielona linia z tekstem „Pozytywne”, szara linia z tekstem „Neutralny”, czerwona linia z tekstem „Wykluczenie”, niebieskie kółko z tekstem „Wzmianka” i fioletowe kółko z tekstem „Prześlij dalej”.
Przykładowa wizualizacja wykonana przy użyciu niestandardowych wizualizacji w R.

Ta niestandardowa wizualizacja jest końcowym wynikiem rozszerzenia sieci społecznościowej naszego samouczka w języku R i demonstruje dużą różnorodność funkcji i właściwości węzłów/krawędzi oferowanych przez R.

Tworzenie rozszerzenia sieci społecznościowej dla usługi Power BI przy użyciu R

Tworzenie rozszerzenia do wizualizacji sieci społecznościowych w usłudze Power BI przy użyciu języka R składa się z pięciu odrębnych kroków. Ale zanim będziemy mogli zbudować nasze rozszerzenie sieci społecznościowej, musimy załadować nasze dane do usługi Power BI.

Warunek wstępny: zbieranie i przygotowywanie danych dla usługi Power BI

Możesz śledzić ten samouczek z testowym zestawem danych opartym na danych z Twittera i Facebooka lub kontynuować własną sieć społecznościową. Nasze dane zostały zrandomizowane; w razie potrzeby możesz pobrać prawdziwe dane z Twittera. Po zebraniu wymaganych danych dodaj je do usługi Power BI (na przykład importując skoroszyt programu Excel lub ręcznie dodając dane). Twój wynik powinien wyglądać podobnie do poniższej tabeli:

Pojawia się tabela z trzynastoma naprzemiennie szarymi i białymi rzędami. Ma tytuł --- "Sieć społecznościowa" --- z nagłówkami poniżej. Pierwsza kolumna jest oznaczona jako „Od użytkownika” i zawiera osiem tekstów „1”, po których następuje pięć tekstów „2”. Druga kolumna jest oznaczona jako „Do użytkownika” i zawiera (od góry do dołu): 2, 3, 5, 6, 7, 8, 9, 10, 7, 8, 11, 13, 14. Trzecia kolumna jest oznaczona jako „ Liczba połączeń” i odczyty (od góry do dołu): 12, 46, 29, 79, 49, 11, 90, 100, 66, 29, 62, 13, 45. Czwarta kolumna jest oznaczona jako „Typ” i brzmi ( od góry do dołu): Retweet, Wzmianka, Wzmianka, Retweet, Retweet, Retweet, Wzmianka, Wzmianka, Retweet, Retweet, Retweet, Retweet, Wzmianka. Piąta kolumna jest oznaczona jako „Sentiment” i zawiera następujące informacje (od góry do dołu): Pozytywne, Pozytywne, Negatywne, Neutralne, Pozytywne, Negatywne, Pozytywne, Neutralne, Neutralne, Negatywne, Negatywne, Negatywne, Negatywne. Szósta kolumna jest zatytułowana „Od nazwy użytkownika” i zawiera osiem tekstów „Aaliyah”, po których następuje pięć tekstów „Aaron”. Siódma kolumna brzmi „Do nazwy użytkownika” i zawiera (od góry do dołu): Aaron, Abel, Abraham, Ace, Adalyn, Adalyn z dwoma N, Adam, Addison, Adalyn, Adalynn z dwoma N, Adeline, Adriel, Aidan. Ósma kolumna brzmi „From Avatar” i zawiera osiem tekstów „https://raychemmedica.com/SampleImages/Pokemon/1.png”, po których następuje pięć tekstów „https://raychemmedica.com/SampleImages/Pokemon/2.png” . Dziewiąta kolumna brzmi „Do Avatara”, a każdy wpis ma tekst „https://raychemmedica.com/SampleImages/Pok” i wydaje się być ucięty.

Po skonfigurowaniu danych możesz przystąpić do tworzenia niestandardowej wizualizacji.

Krok 1: Skonfiguruj szablon wizualizacji

Tworzenie wizualizacji usługi Power BI nie jest proste — nawet podstawowe wizualizacje wymagają tysięcy plików. Na szczęście Microsoft oferuje bibliotekę o nazwie pbiviz , która dostarcza wymagane pliki wspierające infrastrukturę za pomocą zaledwie kilku linijek kodu. Biblioteka pbiviz również wszystkie nasze końcowe pliki do pliku .pbiviz , który możemy załadować bezpośrednio do usługi Power BI jako wizualizację.

Najprostszym sposobem na zainstalowanie pbiviz jest użycie Node.js. Po zainstalowaniu pbiviz musimy zainicjować naszą niestandardową wizualizację R za pomocą interfejsu wiersza poleceń naszej maszyny:

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

Nie zapomnij zastąpić toptalSocialNetworkByBharatGarg żądaną nazwą wizualizacji. -t rhtml informuje pakiet pbiviz , że powinien utworzyć szablon do tworzenia wizualizacji HTML opartych na języku R. Zobaczysz błędy, ponieważ nie określiliśmy jeszcze pól, takich jak imię i nazwisko autora i adres e-mail w naszym pakiecie, ale rozwiążemy je w dalszej części samouczka. Jeśli skrypt pbiviz w ogóle nie będzie działał w PowerShell, może być konieczne zezwolenie na skrypty za pomocą Set-ExecutionPolicy RemoteSigned .

Po pomyślnym wykonaniu kodu zobaczysz folder o następującej strukturze:

Lista Eksploratora plików zawierająca osiem podfolderów (.tmp, .vscode, asset, dist, node_modules, r_files, src i style) oraz osiem plików (capabilities.json, dependencies.json, package.json, package-lock.json, pbiviz .json, script.r, tsconfig.json i tslint.json). Wszystkie pliki mają rozmiar 1 KB, z wyjątkiem functions.json (2 KB) i package-lock.json (23 KB).

Gdy mamy już gotową strukturę folderów, możemy napisać kod R dla naszej niestandardowej wizualizacji.

Krok 2: Zakoduj wizualizację w R

Katalog utworzony w pierwszym kroku zawiera plik o nazwie script.r , który składa się z domyślnego kodu. (Kod domyślny tworzy proste rozszerzenie usługi Power BI, które używa przykładowej bazy danych iris dostępnej w języku R do wykreślenia histogramu Petal.Length według Petal.Species ). Zaktualizujemy kod, ale zachowamy jego domyślną strukturę, w tym sekcje z komentarzami.

Nasz projekt wykorzystuje trzy biblioteki R:

  • DiagrammeR: Tworzy wykresy z tekstu
  • visNetwork: Zapewnia interaktywne wizualizacje sieci
  • data.table: Pomaga w organizacji danych, podobnie jak data.frame

Zamieńmy kod w sekcji Library Declarations script.r , aby odzwierciedlić nasze wykorzystanie biblioteki:

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

Następnie zastąpimy kod w sekcji Actual code naszym kodem R. Przed stworzeniem naszej wizualizacji musimy najpierw przeczytać i przetworzyć nasze dane. Z Power BI weźmiemy dwa dane wejściowe:

  • num_records : numeryczne wejście N , takie, że wybierzemy tylko N najlepszych połączeń z naszej sieci (aby ograniczyć liczbę wyświetlanych połączeń)
  • dataset : nasze węzły i krawędzie sieci społecznościowych

Aby obliczyć N połączeń, które wykreślimy, musimy zagregować wartość num_records , ponieważ usługa Power BI domyślnie udostępnia wektor zamiast pojedynczej wartości liczbowej. Funkcja agregacji, taka jak max , osiąga ten cel:

 limit_connection <- max(num_records)

Będziemy teraz czytać dataset jako obiekt data.table z niestandardowymi kolumnami. Zbiór danych sortujemy według wartości w porządku malejącym, aby najczęstsze połączenia znajdowały się na górze tabeli. Gwarantuje to, że wybieramy najważniejsze rekordy do wykreślenia, gdy ograniczamy nasze połączenia za pomocą 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))]

Następnie musimy przygotować nasze informacje o użytkowniku, tworząc i przydzielając każdemu użytkownikowi unikalne identyfikatory użytkownika ( uid ), przechowując je w nowej tabeli. Obliczamy również całkowitą liczbę użytkowników i przechowujemy te informacje w oddzielnej zmiennej o nazwie num_nodes :

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

Zaktualizujmy nasze informacje o użytkownikach o dodatkowe właściwości, w tym:

  • Liczba obserwujących (rozmiar węzła).
  • Liczba rekordów.
  • Typ użytkownika (kody kolorów).
  • Linki awatara.

Użyjemy funkcji merge R, aby zaktualizować tabelę:

 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')

Dodajemy również nasz utworzony uid do oryginalnego zestawu danych, dzięki czemu możemy później pobrać identyfikatory użytkowników from to kodu:

 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)]

Następnie tworzymy ramki danych węzła i krawędzi do wizualizacji. Wybieramy style i shape naszych węzłów (wypełnione kółka) i wybieramy prawidłowe kolumny naszej tabeli user_ids , aby wypełnić atrybuty color , data , value i image naszych węzłów:

 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>") )

Podobnie wybieramy kolumny tabeli dataset , które odpowiadają naszym atrybutom edge' from , to i color :

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

Na koniec, mając gotowe ramki danych węzła i krawędzi, stwórzmy naszą wizualizację za pomocą biblioteki visNetwork i przechowajmy ją w zmiennej, której później użyje domyślny kod o nazwie p :

 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))

Tutaj dostosowujemy kilka konfiguracji wizualizacji sieci w visOptions i visPhysics. Zachęcamy do przeglądania stron dokumentacji i aktualizowania tych opcji zgodnie z potrzebami. Nasza sekcja Actual code jest już gotowa i powinniśmy zaktualizować sekcję Create and save widget , usuwając wiersz p = ggplotly(g); ponieważ zakodowaliśmy naszą własną zmienną wizualizacyjną, p .

Krok 3: Przygotuj wizualizację dla usługi Power BI

Teraz, gdy zakończyliśmy kodowanie w języku R, musimy wprowadzić pewne zmiany w obsługiwanych przez nas plikach JSON, aby przygotować wizualizację do użycia w usłudze Power BI.

Zacznijmy od pliku capabilities.json . Zawiera większość informacji wyświetlanych na karcie Wizualizacje wizualizacji, takich jak źródła danych naszego rozszerzenia i inne ustawienia. Najpierw musimy zaktualizować dataRoles i zastąpić istniejącą wartość nowymi rolami danych dla naszego dataset i danych wejściowych num_records :

 # ... "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" } ], # ...

W naszym pliku dataViewMappings capabilities.json Dodamy conditions , które muszą spełniać nasze dane wejściowe, a także zaktualizujemy scriptResult , aby pasował do naszych nowych ról danych i ich warunków. Zobacz sekcję conditions wraz z sekcją select w scriptResult , aby uzyskać informacje o zmianach:

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

Przejdźmy do naszego pliku dependencies.json . W tym miejscu dodamy trzy dodatkowe pakiety w ramach cranPackages , aby usługa Power BI mogła zidentyfikować i zainstalować wymagane biblioteki:

 { "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" },

Uwaga: usługa Power BI powinna automatycznie zainstalować te biblioteki, ale w przypadku wystąpienia błędów bibliotek spróbuj uruchomić następujące polecenie:

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

Na koniec dodajmy odpowiednie informacje dotyczące naszej wizualizacji do pliku pbiviz.json . Polecam zaktualizować następujące pola:

  • Pole opisu wizualizacji
  • Pomocniczy adres URL wizualizacji
  • Adres URL GitHub wizualizacji
  • Nazwisko autora
  • E-mail autora

Teraz nasze pliki zostały zaktualizowane i musimy przepakować wizualizację z wiersza poleceń:

 pbiviz package

Po pomyślnym wykonaniu kodu w katalogu dist należy utworzyć plik .pbiviz . Cały kod omówiony w tym samouczku można wyświetlić w serwisie GitHub.

Krok 4: Zaimportuj wizualizację do usługi Power BI

Aby zaimportować nową wizualizację w usłudze Power BI, otwórz raport usługi Power BI (albo jeden dla istniejących danych, albo jeden utworzony w kroku Wymagania wstępne z danymi testowymi) i przejdź do karty Wizualizacje . Kliknij przycisk [więcej opcji] i wybierz opcję Importuj wizualizację z pliku . Uwaga: może być konieczne najpierw wybranie w przeglądarce opcji Edytuj , aby karta Wizualizacje była widoczna.

Pojawi się okienko z tytułem „Wizualizacje” i dwiema strzałkami „>” po prawej stronie. Poniżej tekst „Build visual” z dwoma obrazami poniżej: dwa żółte prostokąty i linia po lewej oraz papier i pędzel po prawej. Wybrany jest obraz dwóch żółtych prostokątów, a pod nim znajduje się panel z ponad 30 różnymi ikonami wykresów. Ostatnia ikona to wielokropek, na którym znajduje się tekst „Uzyskaj więcej elementów wizualnych”. Poniżej panelu ikon tekst „Wartości” z wierszem poniżej, który brzmi: „Dodaj tutaj pola danych”. Poniżej tekst „Przeczytaj”, a po nim „Raport krzyżowy” z zaznaczonym obok przycisku opcji „Wyłącz”.

Przejdź do katalogu dist folderu wizualizacji i wybierz plik .pbiviz , aby bezproblemowo załadować wizualizację do usługi Power BI.

Krok 5: Utwórz wizualizację w Power BI

Zaimportowana wizualizacja jest teraz dostępna w okienku wizualizacji. Kliknij ikonę wizualizacji, aby dodać ją do raportu, a następnie dodaj odpowiednie kolumny do dataset i danych wejściowych num_records :

Zostanie wyświetlone okienko z wybraną ikoną narzędzi, które zawiera tekst „toptalSocialNetworkByBharatGarg”. Poniżej ikony pojawia się tekst „zestaw danych” z różnymi rozwijanymi prostokątami poniżej (od góry do dołu): Od użytkownika, Do użytkownika, Liczba połączeń, kolor, kolor, Nazwa użytkownika, Nazwa użytkownika, Awatar, Awatar.

Możesz dodać do wizualizacji dodatkowy tekst, filtry i funkcje w zależności od wymagań projektu. Zalecam również przejrzenie szczegółowej dokumentacji trzech bibliotek R, których użyliśmy do dalszego ulepszania wizualizacji, ponieważ nasz przykładowy projekt nie może objąć wszystkich przypadków użycia dostępnych funkcji.

Uaktualnianie następnej analizy sieci społecznościowych

Nasz wynik końcowy jest świadectwem mocy i wydajności języka R, jeśli chodzi o tworzenie niestandardowych wizualizacji usługi Power BI. Wypróbuj analizę sieci społecznościowych przy użyciu niestandardowych wizualizacji w języku R na następnym zestawie danych i podejmuj mądrzejsze decyzje dzięki wszechstronnym analizom danych.

Blog Toptal Engineering wyraża wdzięczność Leandro Roserowi za przejrzenie próbek kodu przedstawionych w tym artykule.

Od góry do dołu pojawiają się słowa „Złoto” (w kolorze złotym), „Microsoft” i „Partner” (oba w kolorze czarnym), a następnie logo Microsoft.
Jako Złoty Partner Microsoft, Toptal jest Twoją elitarną siecią ekspertów Microsoft. Twórz wysoko wydajne zespoły z ekspertami, których potrzebujesz — w dowolnym miejscu i dokładnie wtedy, gdy ich potrzebujesz!