NewDataLabS

Tableau - Narzędzia Business Intelligence

  • EMEA Rising Star Tableau Partner of The Year 2018
  • Wydarzenia
    • Webinary
    • Szkolenia
      • Szkolenia New Data Model
      • Szkolenia otwarte
      • Szkolenia zamknięte
  • Blog
  • Wiedza
    • Baza Wiedzy
    • Case Study
  • Pobierz
    • Tableau
      • Tableau Desktop – Trial
      • Tableau Server – Trial
      • Tableau Prep – Trial
      • Tableau Reader
    • Snowflake
  • Kontakt
  • Tableau
    • Co to jest Tableau?
    • Jak dobrze wdrożyć Tableau?
    • Interaktywny kokpit menedżerski
    • Analiza danych
    • Cennik Tableau
    • Prezentacja funkcjonalności
    • Baza wiedzy o Tableau
  • Snowflake
  • Oferta
    • Audyt Tableau
    • Szkolenia
      • Szkolenia New Data Model
      • Szkolenia otwarte
      • Szkolenia zamknięte
    • Produkty Tableau
      • Tableau Desktop
      • Tableau Server
      • Tableau Prep
      • Tableau Online
    • Usługi
      • Warsztaty Tableau na Twoich danych – Proof of Concept
      • Przygotowanie danych – ETL
      • Audyt przedwdrożeniowy
      • Asysta eksploatacyjna Tableau
    • Rozszerzenia Tableau
      • Gotowe wizualizacje danych – Tableau Starting Pack
      • Dodatki do Tableau
    • Embedded Analytics
  • O nas
    • O firmie
    • Praca w NDLS
  • Klienci
PL / EN

Joiny i blending

8 lutego 2021

Od momentu wprowadzenia w Tableau nowego modelu danych i relacji, joiny i blending nieco znikły z horyzontu. Jaka jest ich rola w tej nowej sytuacji? Czy można korzystać z nich dokładnie tak, jak do tej pory? To świetne pytania!

Gdzie join, gdzie blending, a gdzie relacje



Joiny, blendowanie i relacje to metody na budowanie modelu danych złożonego z kilku tabel. W Tableau od wersji 2020.2 model danych składa się z dwóch warstw – logicznej i fizycznej. Wcześniej korzystaliśmy tylko z warstwy fizycznej. Otwierając teraz podgląd podłączenia danych w Tableau widzimy warstwę logiczną, co wygląda tak:



Prostokąty reprezentują tu poszczególne tabele logiczne, a krzywe – relacje je łączące. Jeśli będziemy mieć jedną tabelę logiczną, pojawi się tylko jeden prostokąt. Gdzie tu miejsce dla joinów i blendingu? Otóż należą do narzędzi warstwy fizycznej. Do kompletu wymienić należy jeszcze uniony. One także są związane z warstwą fizyczną.

Tabele logiczną można wyobrazić sobie jako pudełko. W jego wnętrzu kryje się jej warstwa fizyczna. Na nią składają się tabele fizyczne – zaczerpnięte z bazy, Excela, czy innego źródła. Do łączenia tabel fizycznych służą nam joiny i blending właśnie. By dostać się z poziomu tabeli logicznej do jej warstwy fizycznej, klikamy dwukrotnie w wybrany prostokąt. Wewnątrz zobaczymy takie połączenie do danych, z jakim mieliśmy do czynienia w starszych wersjach Tableau, czyli na przykład takie:



Co ciekawego kryją joiny?



Joiny prawdopodobnie znane są większości czytelników, ale dla przypomnienia kilka zdań wprowadzenia.

Pozwalają one łączyć tabele. W Tableau Desktop jest ich 4 rodzaje: inner join, left join, right join i outer join. Wszystkie opierają się o łączenie tabel w oparciu o ich wspólne pole (kolumnę) lub pola. Pierwszy – inner join – to część wspólna dwóch tabel. Drugi – left join – powstaje, gdy do pierwszej (lewej) tabeli dołączymy pasujące wiersze z drugiej (prawej). Tam, gdzie nie ma danych tabela pozostaje pusta. Right join to zwierciadlane odbicie left joina. Tylko dane dopinamy do tabeli prawej, bo z niej chcemy wziąć wszystkie informacje. Wreszcie outer join zbiera wszystkie dane z obu tabel, pozostawiając puste komórki, tam gdzie brak danych. Podsumowanie tej logiki znajdziecie w poniższym diagramie.



Na tym jednak zabawa z joinami się nie kończy. Kiedy otworzymy klikając dwa razy na symbolu joina okno jego edycji widać, że do wyboru mamy również operatory. Zwykle wybiera się opcję domyślną „równość”. Warto jednak pamiętać i o pozostałych.

Wyobraźmy sobie taką sytuację. Sklep ma dwie tabele z danymi o klientach. W pierwszej jest informacja klientach w programie lojalnościowym – o dacie przystąpienia, opcjach. W drugiej zbiorcza informacja o wszystkich zakupach wszystkich klientów. Chcemy przeanalizować wybory klientów należących do programu lojalnościowego. Jeśli decydujemy się na pracę z tabelą fizyczną, a nie z relacjami potrzebujemy zbudować odpowiedni join. Tylko jaki? Na pewno potrzebujemy informacje wyłącznie o klientach z programu. Pozostali nas tym razem nie interesują. A zatem left join, gdzie lewą tabelą będzie z danymi programu. Polami łączącymi powinny być identyfikator klienta i data. W pierwszym przypadku wystarczy równość. Z bazy ogólnej chcemy dane tylko o klientach uczestniczących w programie. W przypadku daty potrzebujemy informacje o zakupach dokonanych od dnia dołączenia do programu, czyli [Data przystąpienia]<= [Data zakupu]. Sprawę załatwi operator „<=”.

Gdy łączymy dane relacjami w warstwie logicznej, wyborem operatora kieruje dokładanie ta sama logika.



O blendingu słów kilka



Czym jest w takim razie blending? Najprościej rzecz biorąc rodzajem left joina tworzonego, gdy powstaje taka potrzeba, ad hoc. Gdy łączymy tabele joinem efektem jest powstanie nowej tabeli odpowiednio zbudowanej na bazie dwóch pierwotnych. W przypadku blenda tworzymy left join, który działa tylko na potrzeby jednej wizualizacji, czy kalkulacji. Przy blendowaniu nie powstaje „stała tabela”.

Kiedy korzystać z takiego rozwiązania? No cóż, aż prosi się odpowiedzieć „Rzadko!”. Historycznie blendowanie służyło do łączenia tabel z różnych baz. Dziś w zasadzie tylko do łączenia danych o różnym poziomie agregacji. Do tego w większości sytuacji, gdy były potrzebne blendy, wygodniej dziś jest zastosować relacje. Dziś ich zastosowanie ogranicza się do modeli danych ze „spacial join-ami”, (połączeniami danych geograficznych) i takimi, do których dołączane są tabele z uprawnieniami. W tych dwóch przypadkach model zbudowany w oparciu o relacje nie może być przełączony na tryb extract. Extract to istotna rzecz dla szybkości pracy. W takiej sytuacji ważne jest, by pełne połączenie danych odbyło się w tabeli fizycznej w oparciu o joiny, uniony i blending właśnie.

Przykład? Do danych dziennych o regionach sprzedaży dołączamy ich kształty, by pokazać je na mapie. Jednocześnie potrzebujemy wartości kwartalnych celów sprzedaży. Jeśli dodamy je joinem, wartość celu zostanie powtórzona dla każdego wiersza w tabeli, czyli dnia. W takiej sytuacji łatwo o błąd i dodanie wartości wielokrotnie. Jeśli cele dołączymy blendem problemu nie będzie.

Czy korzystać z joinów mając do wyboru relacje?



Łączenie tabel logicznych relacjami pozwala nie łączyć tabel na stałe, dzięki czemu zyskuje się na szybkości pracy. Z drugiej strony do nowego rozwiązania trzeba się nieco przyzwyczaić. Chodzi tu zwłaszcza o sytuacje, kiedy nulle w tabelach są wyświetlane lub nie. Jeśli ktoś czuje się pewniej pracując z dotychczasowymi rozwiązaniami w tabelach fizycznych, nic nie stoi na przeszkodzie. Raporty będą działać bez problemów. Kłopot może wystąpić wyłącznie w odwrotnej sytuacji. Wersje Tableau starsze niż 2020.2 nie czytają raportów zbudowanych w oparciu o relacje. Joiny jednak zadziałają w każdej sytuacji.

Agata Mężyńska
Tableau Desktop Certified Professional
webinarium tableau Pobierz trial Tableau Desktop >
Pobierz trial Tableau Prep >
Wydarzenia
> Webinarium Tableau
> Tableau MBA Digital Edition

Produkty Tableau
> Tableau Desktop
> Tableau Server
> Tableau Online
> Tableau Prep

Szkolenia Tableau
Usługi
> Warsztaty Tableau na Twoich danych – Proof of Concept
> Przygotowanie danych – ETL
> Audyt przedwdrożeniowy
> Asysta eksploatacyjna Tableau

Rozszerzenia Tableau
> Gotowe wizualizacje danych – Tableau Starting Pack
> Dodatki do Tableau
Pobierz Tableau
> Tableau Desktop - Trial
> Tableau Server - Trial
> Tableau Prep - Trial
> Tableau Reader

Tableau
> Co to jest Tableau?
> Jak dobrze wdrożyć Tableau?
> Interaktywny kokpit menedżerski
> Cennik Tableau
Kontakt

kontakt@newdatalabs.com
kontakt@newdatalabs.com


601797783
781 648 194


Adres
Adres do korespondencji:
al. T. Boy’a – Żeleńskiego 28/20,
51-160 Wrocław
kontakt ndls
pobierz trial tableau
Linkedin Newdatalabs
twitter Newdatalabs
Facebook Newdatalabs
Youtube Newdatalabs
instagram Newdatalabs
Ułatwiamy pracę z danymi

Copyright © 2021