NewDataLabS

Tableau - Narzędzia Business Intelligence

PL / EN
  • Wydarzenia
    • Webinary
      • Salesforce
      • Tableau
      • Power BI
    • Szkolenia Tableau
      • Szkolenia online
      • Szkolenia zamknięte
    • Szkolenia Power BI
      • Kurs Power BI online
  • Baza Wiedzy
    • Baza Wiedzy Tableau
    • Baza Wiedzy Power BI
    • Baza Wiedzy Salesforce
  • Blog
  • Kontakt
  • Rozwiązania
    • Tableau
    • Power BI
    • Salesforce
    • Snowflake
    • AI - Einstein Discovery
    • Amplitude
  • Usługi
    • Warsztaty Proof of Concept
    • Warsztaty CRM
    • ETL - przygotowanie danych
    • Hurtownie danych
    • Wdrożenia BI
    • Wdrożenia CRM
    • Migracje
      • Migracje CRM
      • Migracje systemów BI
    • Asysta eksploatacyjna
    • Embedded Analytics
    • Audyty Tableau
    • Szkolenia otwarte
      • Tableau
      • Power BI
    • Szkolenia zamknięte
      • Tableau
      • Salesforce
  • O firmie
    • O nas
    • Kariera
  • Klienci
    • Wybrani Klienci
    • Case Study

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
> Konferencja Tableau MBA
> Konferencja użytkowników Power BI
Webinary
> Webinary Salesforce
> Webinary Amplitude
> Webinary Tableau
> Webinary Power BI

Szkolenia Tableau
Szkolenia Power BI
ETL
> Tableau Prep
> Airflow
> Power Query
> Microsoft Integration Services
Hurtownie danych
> Snowflake
> Google BigQuery
> Microsoft SQL Server
> PostgreSQL
Business intelligence
> Tableau
> Salesforce
> Power BI
Analityka internetowa
> Amplitude
Salesforce
> Zarządzanie relacjami z Klientami
> Sprzedaż
> Zarządzanie szansami sprzedaży
> Analiza Business Intelligence
> Salesforce Manufacturing Cloud
> Salesforce Service Cloud
> Salesforce Marketing Cloud
Kontakt

kontakt@newdatalabs.com
kontakt@newdatalabs.com


601797783
781 648 194


Adres
Adres do korespondencji:
al. T. Boy’a – Żeleńskiego 26,
51-160 Wrocław

Copyright © 2025