Wyślij zapytanie Dołącz do Sii

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.

Get Data - Facebook

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

Screen z profilu Facebooka - nazwa profilu

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

Connection - Posts

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

Unable to connect

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:

Get Data - Blank Query

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:

Query
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:

created time - Date/Time

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!

opcje w panelu po prawej stronie

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.

wykresy

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:

ikona WordCloud

Klikamy na nią, następnie do pola Category przeciągamy message i w efekcie otrzymujemy następującą wizualizację:

wizualizacja z WordCloud

Word 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:

opcje w panelu po prawej stronie

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:

wykres

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.

ikona Play Axis

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

Date - Month - Start of Month

Ż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:

Extract First Characters

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.

wizualizacja z playerem

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:

show items when the value contains

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 ( głos: 1)
Ocena:
5/5 ( głos: 1)

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

  • 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ż.

Może Cię również zainteresować

Pokaż więcej artykułów

Bądź na bieżąco

Zasubskrybuj naszego bloga i otrzymuj informacje o najnowszych wpisach.

Otrzymaj ofertę

Jeśli chcesz dowiedzieć się więcej na temat oferty Sii, skontaktuj się z nami.

Wyślij zapytanie Wyślij zapytanie

Natalia Competency Center Director

Get an offer

Dołącz do Sii

Znajdź idealną pracę – zapoznaj się z naszą ofertą rekrutacyjną i aplikuj.

Aplikuj Aplikuj

Paweł Process Owner

Join Sii

ZATWIERDŹ

This content is available only in one language version.
You will be redirected to home page.

Are you sure you want to leave this page?