Interaktywne Grupowanie w Marimekko

Ostatnio jeden z konsultantów w pracy poprosił mnie o pomoc przy tworzeniu wykresu Marimekko. Szczególnie interesowała go możliwość dynamicznego grupowania kafelków. O ile samo Marimekko bazuje na podstawowej matematyce i jego stworzenie w Tableau jest  od dawna dobrze udokumentowane, to do interaktywnego dynamicznego grupowania potrzeba jednej z nowych funkcji wprowadzonych w 2018.3 - set actions.

Kliknij aby przejść do Tableau Public

Zacznijmy od tego, kiedy używamy Marimekko. Jest to typ wykresu na którym pokazujemy 2 zmienne (jedna jako wysokość, druga jako szerokość) i dwa wymiary (jeden pionowo, drugi poziomo). Można go interpretować jako stacked bar chart z dodaną szerokością słupka. Cała zagwostka polega na tym aby słupki się stykały pokazując sumę całego zbioru. Marimekko można też interpretowć w pewien sposób jako scatterplot pokazuący total lub sumę bieżącą.

Jeśli chcemy aby słupki się stykały, oś X musi być ciągła (zielona pigułka). To oznacza, że musimy wyliczyć położenie słupków. W naszym przypadku będziemy liczyć szerokość słupka oraz położenie jego prawej krawędzi. Posłużę się dobrze znanym zbiorem treningowym Superstore. Wykes będzie przedstawiał relację między ilością towaru (Quantity) oraz wartością sprzedaży (Sales) dla różnych typów klientów (Segment) według różnych opcji dostawy (Ship Mode).

Pierwszy krok to stworzenie zwykłego wykresu słupkowego pokazującego ilość towaru wg opcji wysyłki. Następnie zmieniamy ilość na udział procentowy - używamy Quick Table Calculation - Percent of Total. Liczymy to po Segmencie. 

Możemy się teraz zabrać za liczenie szerokości słupka. Są na to dwa sposoby: LOD i table calculation (window_sum). Zawsze preferuję LOD, jest ono też łatwiejsze w późniejszym sortowaniu. Tworzymy więc pole kalkulowane, które ma policzyć wartość sprzedaży (Sales) dla każdego Ship Mode - ignorujemy więc typ klienta. Zawartość pola powinna wyglądać tak:
Użyjmy go od razu jako szerokości słupka.

Na tym etapie widać już, że zmierzamy w dobrą stronę. Przed nami najtrudniejsza część, czyli kalkulacja licząca położenie słupka. Kalkulacja działa na podobnej zasadzie jak running sum. Zwykły running sum nie zadziała, gdyż chcemy liczyć partycje inaczej niż przedstawiamy je w widoku.


W tym momencie pozostaje tylko przerzucić wymiar Ship Mode na detal oraz użyć nowej kalkulacji na osi X. Ustawiamy ją tak, aby liczyła się przy użyciu obu wymiarów. Pierwszy powinen być wymiar który znajduje się na oxi X, drugi wymiar z osi Y. Możemy również od razu ustawić sortowanie.


W tym momencie wykres wygląda tak:

Widać, że dalej coś się nie zgadza. Mamy policzone pozycje słupków ale dalej nie wypełniają one widoku. Aby to naprawić musimy zrównać słupki do prawej krawędzi oraz zmienić typ szerokośc na fixed. Oznacza to, że szerokość będzie zsynchronizowana z osią.


Jedyne co pozostaje to ustawić kolory i sformatować labele i tooltipy.

Dodanie elementu interaktywnego grupowania wymaga od nas stworzenia drugiego wykresu, ponieważ set action nie może się odwoływać same do siebie na wykresie.

Dlatego tworzymy zwykły wykres słupkowy pokazujący udział wszystkich Ship Mode. Po wrzuceniu go na dashboard używamy paddingu aby zrównać krawędzie.

Musimy podmienić też Ship Mode na wykresie Marimekko. Do tego celu tworzymy nowy zbiór i pole bazujące na nim. Aby stworzyc zbiór bazujący na Ship Mode klikamy prawym klawiszem na pole i wybieramy Create > Set. Na obecną chwilę pozostawmy go pustym.


Nasz nowy wymiar ma zwracać elementy niezawarte w zbiorze, a te zawarte grupować. Logika ta wygląda następująco:


Po podmianie pola na wykresie i ponownym ustawieniu kalkulacji możemy wrócić do dashboardu i ustawić naszą akcję (Dashboard > Actions > Add Action > Change Set Values). 


Ustawiona tak akcja sprawi, że klikając na górnym wykresie (Ship Mode Bar) zostaną zmienione wartości zbioru Ship Mode Set, którego to używamy na drugim wykresie. Odklikniecie selekcji pozostawi zbiór z poprzednią zawartością.


Komentarze

  1. Potrzebujesz zatrudnić hakera❓ Następnie skontaktuj się z PYTHONAX✅

    Naprawdę niesamowita okazja do skontaktowania się z PYTHONAX polega na tym, że dokonany przez nas Hack nie może zostać namierzony, ponieważ każde nasze zadanie hakowania jest silnie chronione przez naszą zaporę ogniową. To tak, jakby powiedzieć, że jeśli ktoś spróbuje wyśledzić Hack, doprowadzi go do nas i zablokujemy wszystkie jego działania.

      Jesteśmy prawie niewidoczni dla władz od prawie dekady, a jeśli przejdziesz do Google PYTHONAX, tak naprawdę nie o nas wyjdzie, możesz zobaczyć tylko komentarze zrobione przez nas lub o nas.

      Kolejną niesamowitą rzeczą, z której możesz skorzystać przy zatrudnianiu naszych hakerów, jest to, że otrzymujesz Legit i najlepszą usługę hakowania, ponieważ zapewniamy Ci profesjonalnych hakerów, którzy mają specjalizacje w obszarze hakowania.
       Wykonujemy każdego hacka, używając specjalnych narzędzi hakerskich, które otrzymujemy z ciemnej sieci.

       Niektóre z oferowanych przez nas usług hakerskich to:
    ▪️ Hakowanie i klonowanie telefonów ✅
    ▪️Hakowanie komputera ✅
    ▪️ Hakowanie kont e-mail i mediów społecznościowych✅
    ▪️ Odzyskiwanie usuniętych plików✅
    ▪️ Śledzenie i znajdowanie osób ✅
    ▪️Unikanie oszustów✅
    ▪️ Wykrywanie włamań ✅
    ▪️Stealing / Kopiowanie plików i dokumentów z ograniczonych sieci i serwerów ✅
    ▪️Mnożenie Bitcoinów✅
    ▪️ Odzyskiwanie pieniędzy z opcji binarnej ✅
    ▪️ Odzyskiwanie pieniędzy na rynku Forex✅
    ▪️ Odzyskiwanie pieniędzy opcji IQQ
    I wiele więcej......


    Niezależnie od tego, jakiej usługi hakerskiej potrzebujesz, po prostu prześlij nam e-mail na adres e-mail podany poniżej.
    pythonaxhacks@gmail.com
    pythonaxservices@gmail.com

    PYTHONAX.
    2020 © Wszelkie prawa zastrzeżone.

    OdpowiedzUsuń
  2. Selling good and fresh cvv fullz

    track 1 and 2 with pin

    bank login

    bank transfer

    writing cheques

    transfer to cc ...

    Sell Fresh CVV - Western Union Transfer - Bank Login - Card Dumps - Paypal - Ship

    Fresh Cards, Selling Dumps, Cvvs, Fullz

    Tickets,Hotels,Credit card topup...Paypal transfer, Mailer,Smtp,western union login,

    Book Flight Online

    SELL CVV GOOD And HACK BIG CVV GOOD Credit Card

    Fresh Cards. Selling Dumps, Cvvs, Fullz.Tickets,Hotels,Credit cards


    Sell Cvv(cc) - Wu Transfer - Card Dumps - Bank login/paypal

    And many more other hacking services

    contact me : hackerw169@gmail.com
    ICQ: 699 396 818


    - I have account paypal with good balance

    - I hope u good customers and will be long-term cooperation


    Prices Western Union Online Transfer


    -Transfer(Eu,Uk,Asia,Canada,Us,France,Germany,Italy and very

    easy to do African)

    - 200$ = 1500$ (MTCN and sender name + country sender)

    - 350$ = 4000$ (MTCN and sender name + country sender)

    - 500$ = 6000$ (MTCN and sender name + country sender)

    - 600$ = 8000$ (MTCN and sender name + country sender)

    Then i will do transfer's for you, After about 30 mins you'll have

    MTCN and sender name + country sender


    - Dumps prices

    - Tracks 1&2 US = 85$ per 1

    - Tracks 1&2 UK = 100$ per 1

    - Tracks 1&2 CA / AU = 110$ per 1

    - Tracks 1&2 EU = 120$ per 1


    Bank Logins Prices US UK CA AU EU


    - Bank Us : ( HALIFAX,BOA,CHASE,Wells Fargo...)

    . Balance 5000$ = 250$

    . Balance 8000$ = 400$

    . Balance 12000$ = 600$

    . Balance 15000$ = 800$

    . Balance 20000$ = 1000$

    - Bank UK : ( LLOYDS TSB,BARCLAYS,Standard Chartered,HSBC...)

    . Balance 5000 GBP = 300 GBP

    . Balance 12000 GBP = 600 GBP

    . Balance 16000 GBP = 700 GBP

    . Balance 20000 GBP = 1000 GBP

    . Balance 30000 GBP = 1200 GBP


    contact me : hackerw169@gmail.com
    ICQ: 699 396 818

    OdpowiedzUsuń

Publikowanie komentarza

Popularne posty z tego bloga

Unicode - trzecia warstwa Tableau

Recenzja: Edward Tufte - The Visual Display of Quantitative Information