BI

Trendy na r-bloggers, czyli analiza danych z Facebooka w Power BI

Wrzesień 20, 2017 1
Podziel się:

Fascynujące jest, jak z każdą aktualizacją Power BI powiększa zasób dostępnych źródeł danych. Ponieważ API facebooka jest bezpłatne i ogólnodostępne, naturalną konsekwencją było pojawienie się go w produkcie Microsoftu. Przekonajmy się, co można zdziałać przy jego pomocy.

Jak zacząć?

Z dostępnych źródeł danych wybieramy Facebook.

1. Data Source 300x161 - Trendy na r-bloggers, czyli analiza danych z Facebooka w Power BI

W kolejnym oknie informującym o połączeniu korzystającym z usługi innej firmy klikamy Continue i stajemy przed wyborem profilu, który chcemy zbadać. Jeśli pozostawimy w tym polu me, ściągniemy informacje z profilu, którym się zalogujemy. Zamiast tego, możemy wpisać w to pole nazwę profilu, który nas interesuje, lub jego ID. Najprościej będzie użyć nazwy, którą łatwo odnajdziemy na interesującym nas profilu (tuż pod zdjęciem profilowym, zaczynająca się od symbolu @):

2. Profile name 300x202 - Trendy na r-bloggers, czyli analiza danych z Facebooka w Power BI

Następnie w polu Connection z listy rozwijanej wybieramy Posts i klikamy ok.

3. Connection string 300x115 - Trendy na r-bloggers, czyli analiza danych z Facebooka w Power BI

Zostaniemy poproszeni o zalogowanie się do Facebooka. Po zalogowaniu z wysokim prawdopodobieństwem zobaczymy taki oto (lub podobny) ekran:

4. Limit error  300x140 - Trendy na r-bloggers, czyli analiza danych z Facebooka w Power BI

Oznacza to, że przekroczyliśmy dopuszczalny przez API limit rekordów na wywołanie. Klikamy Cancel, a następnie z dostępnych źródeł danych wybieramy Blank Query:

5. BlankQuery 300x161 - Trendy na r-bloggers, czyli analiza danych z Facebooka w Power BI

Otworzy się Query Editor, w którym ze wstążki wybieramy  Advanced Editor (lub klikamy prawym przyciskiem myszy na Query1 po lewej stronie i wybieramy tę opcję z listy). Teraz musimy wprowadzić kod definiujący limit postów jako 100:6. Advance editor 300x156 - Trendy na r-bloggers, czyli analiza danych z Facebooka w Power BI

let
    Source = Facebook.Graph("https://graph.facebook.com/v2.8/rbloggers/posts?limit=100")
in
    Source

Limit możemy ustawić na dowolną liczbę nie przekraczającą 100 – nie ma to wpływu na finalną liczbę pobranych postów, ale na ich ilość pobraną w jednym zapytaniu.

Klikamy Done i zabieramy się do edycji danych 🙂

Mam już dane. Co teraz?

Zaczynamy od zmiany typu kolumny zawierającej czas opublikowania postu ze znakowej na datetime:7. Date time 300x156 - Trendy na r-bloggers, czyli analiza danych z Facebooka w Power BI

Następnie usuwamy kolumnę, która nas nie interesuje –  object_link (klikając na jej nagłówek prawym przyciskiem myszy i wybierając Remove) i zmieniamy nazwę tabeli na rbloggers. Kilkamy Close&Apply na wstążce. Teraz ogranicza nas już tylko wyobraźnia 🙂 Moja podpowiada mi żeby sprawdzić, jak zmienia się liczba postów publikowanych przez społeczność w czasie. W tym celu wybieramy Line chart z dostępnych wizualizacji po prawej stronie, do pól Axis i Values przeciągamy odpowiednio created_time i message i odkrywamy, jak szybko wzrasta liczba publikowanych postów!

8. Line chart 300x161 - Trendy na r-bloggers, czyli analiza danych z Facebooka w Power BI

Klikając w symbol strzałek w lewym górnym rogu wykresu możemy zmienić poziom agregacji danych. Ikonka pierwsza z prawej dodaje do osi x kolejne poziomy (zwiększa ilość punktów na osi), natomiast środkowa zmienia składową daty wyświetlaną na osi (zamiast liczby postów rocznie możemy zobaczyć np. liczbę postów publikowanych w każdym miesiącu, niezależnie od roku). W ten sposób możemy zaobserwować wakacyjny spadek aktywności oraz sprawdzić, w których latach był bardziej widoczny.

8.1 Line chart aggregation 300x103 - Trendy na r-bloggers, czyli analiza danych z Facebooka w Power BI

Skoro wiemy już, że liczba postów niemal podwaja się z roku na rok, sprawdźmy czego dotyczą. W tym celu użyjemy wizualizacji Chmura tagów. Wizualizację musimy pobrać z AppStore. W tym celu udajemy się na stronę https://store.office.com/search.aspx?productgroup=PowerBI (lub logujemy się wybierając na wstążce From Store) i wyszukujemy wizualizację World Cloud. Klikamy Add i zapisujemy plik .pbiviz na dysku. Następnie ze wstążki wybieramy From File, w okienku informującym nas o imporcie zewnętrznej wizualizacji klikamy Import i wybieramy właśnie pobrany plik. W wizualizacjach pojawi się nowa ikonka:

9. Word cloud ikona 228x300 - Trendy na r-bloggers, czyli analiza danych z Facebooka w Power BI

Klikamy na nią, następnie do pola Category przeciągamy message i w efekcie otrzymujemy następującą wizualizację:10. Word cloud plot 300x154 - Trendy na r-bloggers, czyli analiza danych z Facebooka w Power BI

World Cloud rozbija zawartość pola message (czyli treść posta) na pojedyncze słowa i zlicza ich częstość. Wielkość słowa na wizualizacji odzwierciedla tę częstość. Widać, że wizualizację zakłóca częste występowanie adresów internetowych, zaimków i innych nieistotnych części mowy. Możemy łatwo pozbyć się ich z wizualizacji klikając na nią, a następnie w ikonę Format pod wizualizacjami (ikona wałka malarskiego). Znajdujemy grupę Stop words, zaznaczamy On i w polu Words wpisujemy po spacji słowa, których nie chcemy widzieć na wizualizacji. Możemy też zrezygnować z obracania słów zaznaczając Off w grupie Rotate text. Ostatecznie otrzymujemy chmurę słów najczęściej występujących w postach r-bloggers:

11. Word cloud properties e1501837762816 - Trendy na r-bloggers, czyli analiza danych z Facebooka w Power BI

Klikając w dowolne słowo przekonamy się, kiedy było używano najczęściej patrząc na pierwszy wykres. W ten sposób możemy przekonać się, jak spadła popularność pakietu knitr:

12. Word cloud knitr 300x156 - Trendy na r-bloggers, czyli analiza danych z Facebooka w Power BI

Jak przekonać się, które słowa zyskały, a które straciły na popularności nie klikając w każde z nich? Wykorzystajmy wizualizację Play Axis (pobieramy ją z AppStore jak poprzednio). Wybieramy z wizualizacji nową ikonkę żółtej strzałki.

 

17. Axis player 217x300 - Trendy na r-bloggers, czyli analiza danych z Facebooka w Power BI

Do pola Field należy przenieść zmienną czasową, która będzie odpowiadała za filtrowanie pozostałych elementów raportu i chronologię wyświetlania. Ponieważ zmienna created_time zawiera poszczególne dni, odfiltrowanych zostanie jednorazowo zbyt mało elementów, żeby można było zaobserwować jakiś trend. Wygenerujmy więc z naszej zmiennej nową o innej granulacji, np. odpowiadającej kolejnym miesiącom. W tym celu klikamy Edit Queries, podświetlamy zmienną created_time i ze wstążki Add column wybieramy kolejno Date, Month oraz Start of Month (w ten sposób otrzymamy zmienną z datą odpowiadającą pierwszemu dniowi miesiąca z którego pochodzi post; wybór samego miesiąca spowodowałyby utratę informacji o roku i zaburzyłby chronologię).

16. Start of month 300x153 - Trendy na r-bloggers, czyli analiza danych z Facebooka w Power BI

Żeby pozbyć się niepotrzebnej informacji o godzinie i dniu miesiąca, które zaburzą wyświetlanie wizualizacji, ze wstążki Transform wybieramy Extract oraz First Characters i wpisujemy 7:

18. Extract month 300x154 - Trendy na r-bloggers, czyli analiza danych z Facebooka w Power BI

Klikamy Close & Apply i w polu Field umieszczamy nową zmienną Start of Month. Możemy jeszcze wyłączyć filtrowanie wykresu liniowego (żeby nie oglądać pojedynczego punktu), klikając na Axis player i ze wstążki Format, wybierając Edit interactions. Na pozostałych elementach raportu pojawią się ikonki filtra i przekreślonego kółka. Klikając przekreślone kółko na wykresie liniowym wyłączymy filtrowanie tego wykresu przez Axis player.

19. edit interactions 300x157 - Trendy na r-bloggers, czyli analiza danych z Facebooka w Power BI

Wystarczy teraz kliknąć play by przekonać się, jak zmieniała się częstość postowania o poszczególnych tematach.

 

A jeśli nie mogę wypatrzyć interesującego mnie tematu?

Nic prostszego – przeciągamy message do pola Page level filters, zmieniamy typ filtra na Advanced filtering, z listy rozwijanej Show item when the value wybieramy contains i wpisujemy interesujący nas tekst:

 

14.1 Filtr 300x157 - Trendy na r-bloggers, czyli analiza danych z Facebooka w Power BI

Oprócz częstotliwości występowania interesującego nas słowa możemy zobaczyć również kontekst, w jakim występuje.

 

Należy oczywiście pamiętać, że w zależności od wersji narzędzia i API kilka rzeczy może wyglądać inaczej (również adres AppStore ulega zmianom).

 

Happy Coding!

5 / 5
Kategorie: BI
Sylwia Lis
Autor: Sylwia Lis

Imię i nazwisko (wymagane)

Adres email (wymagane)

Temat

Treść wiadomości

komentarze(1)

avatar'
Zbyszek
4 czerwca 2019 Odpowiedz

Nie działa. Po kliknięciu połącz zgłasza błąd że nie ma takiej wartości błąd 100. Czyżby Facebook zablokował taką opcję już.

Zostaw komentarz