KajoData / Tableau
Dual axis w Tableau: dwie miary i uczciwa skala
Buduję wykres z dwiema osiami, rozdzielam jednostki od skali i pokazuję, dlaczego Synchronize Axis wymaga decyzji o znaczeniu porównania.

Chcesz pokazać sprzedaż oraz udział kosztów wysyłki w sprzedaży na jednym wykresie. Jedna miara ma wartości w tysiącach, druga jest procentem. W Tableau możesz nałożyć je na siebie przez Dual Axis. Samo kliknięcie jest proste. Ja więcej uwagi poświęcam temu, czy odbiorca odczyta z wykresu właściwą historię.
Dwie osie potrafią pomóc w obserwowaniu zmian w czasie, ale dają też dużo swobody w ustawianiu obrazu. Wystarczy zmienić zakres jednej osi, żeby linie zaczęły wyglądać na bardzo zgodne albo bardzo odległe. Dlatego pokażę zarówno budowę widoku, jak i decyzje o jednostkach, agregacji oraz podpisach. Bez tego efektowny dashboard może jedynie elegancko sugerować przypadkowy związek.
Instrukcja dotyczy Tableau Desktop i opiera się na aktualnej dokumentacji producenta. Przykład używa małych danych syntetycznych. Nie potrzebujesz starego workbooka ani dostępu do firmowej sprzedaży. Najpierw zbuduj widok, którego wartości potrafisz odtworzyć z trzech wierszy, a potem przejdź do większego źródła.
Co naprawdę oznacza dual axis
Dokumentacja Tableau opisuje dual axis jako dwie niezależne osie nałożone w jednym panelu. W naszym przypadku osią poziomą będzie miesiąc, a pionowe osie będą opisywać dwie miary. Nie chodzi po prostu o fakt, że zwykły wykres ma oś poziomą i pionową.
Każda miara zachowuje własne odniesienie do skali. To pozwala pokazać liczbę i procent w tym samym obszarze, ale nie zmienia ich jednostek. Jeśli punkt obu serii znajdzie się na tej samej wysokości, nie wynika z tego, że sprzedaż jest równa udziałowi kosztów. Wspólna pozycja na ekranie może oznaczać dwie zupełnie różne wartości.
Podobnie trzeba uważać z określeniem „porównujemy trendy”. Możemy obserwować kierunek zmian, ale kąt nachylenia linii zależy od skali i proporcji wykresu. Zanim opiszesz silny związek, spójrz na liczby, zakres czasu i kontekst. Trzy punkty na obrazku to słaba podstawa do opowieści o zachowaniu całej firmy.
Przygotuj trzy miesiące danych
Użyję kolumn Month, Sales i ShippingCost. Jeden wiersz oznacza jeden miesiąc. W kolumnie daty podaj pierwszy dzień każdego miesiąca i upewnij się po podłączeniu pliku, że Tableau rozpoznało typ daty. Miary liczbowe powinny być liczbami, bez dopisanych jednostek w treści komórek.
| Month | Sales | ShippingCost |
|---|---|---|
| 2026-01-01 | 1000 | 100 |
| 2026-02-01 | 2000 | 300 |
| 2026-03-01 | 1500 | 150 |
Wartości są umowne, w jednej wspólnej jednostce. Udział kosztów to odpowiednio 10%, 15% i 10%. Nie wpisuję do źródła gotowej kolumny procentów, bo chcę pokazać, jak zdefiniować miarę na poziomie widoku. Przy większym źródle ta decyzja staje się szczególnie ważna.
Przed tworzeniem wykresu obejrzyj tabelę z miesiącem i sumami obu kolumn. Jeśli na tym etapie widzisz jeden wielki wynik zamiast trzech miesięcy, wróć do typu daty i szczegółowości widoku. Budowanie dwóch osi nie naprawi źle rozpoznanej kolumny ani przypadkowo połączonych okresów.
Zdefiniuj udział kosztów
Utwórz pole obliczeniowe, na przykład ShippingShare, z poniższą formułą. Wszystkie sprzedaże w tym ćwiczeniu są dodatnie. Obsługa zerowego mianownika w rzeczywistym raporcie wymaga osobno uzgodnionej reguły, zamiast automatycznego uznania wyniku za zero procent.
SUM([ShippingCost]) / SUM([Sales])
Dla stycznia dzielisz 100 przez 1000, więc wartość wynosi 0,10, wyświetlana jako 10%. Dla lutego 300 przez 2000 daje 0,15. Format procentowy zmienia sposób prezentacji. Nie mnożę wyniku dodatkowo przez sto, jeśli później formatuję go jako procent.
Funkcje agregujące Tableau pozwalają opisać obliczenie na poziomie widoku. Zastosowanie sum w liczniku i mianowniku sprawia, że liczymy udział łącznych kosztów w łącznej sprzedaży dla danego miesiąca. To konkretna definicja miary, którą można wyjaśnić odbiorcy.
W osobnym syntetycznym przypadku wyobraź sobie dwie pozycje: sprzedaż 900 i koszt 90 oraz sprzedaż 100 i koszt 20. Procenty wierszy wynoszą 10% i 20%. Ich zwykła średnia to 15%, ale udział łączny wynosi 110 podzielone przez 1000, czyli 11%. Wybór między tymi pytaniami musi nastąpić przed rysowaniem linii.
Ustaw miesiąc i pierwszą miarę
Przeciągnij Month na półkę Columns. W menu pola wybierz ciągłą datę na poziomie miesiąca, tak aby kolejne miesiące zachowały porządek w czasie i uwzględniały rok. W interfejsie angielskim pola ciągłe mają zielone tło. Nie myl miesiąca konkretnego roku z samą nazwą stycznia, która może łączyć różne lata.
Różnicę między częściami daty a ciągłą datą opisuje pomoc Tableau o datach. Na start sprawdź, czy widok obejmuje styczeń, luty i marzec 2026, a nie trzy kategorie pochodzące z przypadkowej interpretacji tekstu. Przy danych wieloletnich ta kontrola jest jeszcze ważniejsza.
Przeciągnij Sales na Rows. Sprawdź agregację widoczną na polu: tutaj chcę SUM(Sales). Na karcie Marks wybierz słupki, czyli Bar. Otrzymasz prosty widok sprzedaży, który już na tym etapie powinien zgadzać się z trzema wartościami tabeli.
Opis agregacji w Tableau wyjaśnia, że miara dodana do widoku dostaje agregację. Ja zawsze oglądam jej nazwę. Nie zakładam, że dane zadziałają zgodnie z intencją tylko dlatego, że pole wygląda na liczbowe. Suma i średnia odpowiadają na różne pytania nawet przy podobnym kształcie wykresu.
Dodaj drugą miarę i wybierz Dual Axis
Przeciągnij ShippingShare na Rows, obok pierwszej miary. Początkowo Tableau może pokazać osobne panele. Z menu drugiego pola wybierz Dual Axis. W Tableau Desktop można również użyć menu kontekstowego miary; na Macu odpowiednikiem kliknięcia prawym przyciskiem jest control-click.
Po nałożeniu miar zobaczysz jedną przestrzeń wykresu i osobne odniesienia pionowe. Nazwij osie tak, żeby lewa mówiła o sprzedaży, a prawa o udziale kosztów wysyłki. Prawą sformatuj jako procent. Jeżeli widzisz 0,15 i oczekujesz 15%, najpierw popraw format, zamiast zmieniać samą formułę.
Ten etap kończę kontrolą wartości w tooltipach. Styczeń ma pokazywać sprzedaż 1000 i udział 10%, luty 2000 i 15%, marzec 1500 i 10%. Położenie punktu jest mniej wiarygodnym sprawdzianem niż konkretna liczba. Dopiero po zgodności danych przechodzę do kolorów i porządkowania wyglądu.
Osobne karty Marks
Przy dwóch miarach Tableau udostępnia karty Marks dla poszczególnych miar oraz kartę All. Na karcie sprzedaży zostawiam słupki. Na karcie udziału wybieram Line. Jeżeli zmienisz typ na All, możesz przypadkiem przebudować obie warstwy. Dlatego przed kliknięciem sprawdzam nazwę aktywnej karty.
Ustaw odróżnialne kolory i czytelne rozmiary. Linia powinna pozostać widoczna nad słupkami, ale nie zasłaniać całej ich powierzchni. Nie opieram rozpoznania serii wyłącznie na kolorze: nazwa osi, typ znaku i opis w tooltipie mają wspólnie wyjaśniać, co ogląda odbiorca.
Uważaj też na pola przeciągane na Detail lub Color. Dodatkowy wymiar może podzielić znaki jednej warstwy na więcej kategorii. Jeśli po dodaniu pola nagle masz kilka linii, sprawdź szczegółowość aktywnej karty. Wspólny panel nie oznacza, że obie warstwy automatycznie mają identyczną strukturę.

Kiedy Synchronize Axis ma sens
Synchronizacja ustawia wspólną skalę liczbową dla osi. W menu osi pomocniczej wybierasz Synchronize Axis, zgodnie z instrukcją producenta. Taka operacja ma sens na przykład dla sprzedaży i planu sprzedaży zapisanych w tej samej jednostce i konwencji.
W naszym widoku sprzedaż oraz procent mają różne jednostki. Nie synchronizuję ich. Wartość 0,15 opisuje udział, a 2000 wielkość sprzedaży. Dopasowanie obu do jednej skali liczbowej spłaszczyłoby linię procentową, bez stworzenia użytecznego porównania. Zmiana formatu na procent nie zmienia tej różnicy.
Sam podobny rząd wielkości również nie wystarcza. Temperatura 20 i 20 zamówień nie stają się porównywalne przez podobne liczby. Odwrotnie, dwie miary w tej samej jednostce mogą mieć bardzo różne wielkości i właśnie wspólna skala uczciwie pokaże tę różnicę. Najpierw jednostka i pytanie, potem dopasowanie obrazu.
Dlaczego linie mogą sugerować zbyt wiele
Przy niezależnych osiach wysokość znaku zależy od zakresu odpowiedniej skali. Możesz zmienić minimum i maksimum prawej osi, zachowując identyczne dane. Linia udziału przesunie się względem słupków. Dlatego przecięcie serii o różnych jednostkach nie ma znaczenia równości wartości.
Ja traktuję to jako obowiązek czytelnego opisu, a nie zachętę do ustawiania osi pod z góry wybrany wniosek. Odbiorca powinien wiedzieć, którą skalę czytać i czy widok ma pokazywać poziomy, kierunek zmian czy odstęp od planu. Jeśli tych celów nie da się pogodzić, dwa osobne wykresy mogą być prostszym rozwiązaniem.
Nie wyciągam też wniosku o przyczynowości z równoczesnego wzrostu. Koszt wysyłki i sprzedaż mogą zależeć od skali działalności, struktury zamówień albo innych zmian. Wykres pomaga zauważyć pytanie do dalszej analizy. Do odpowiedzi potrzebne są definicje, odpowiedni zakres danych i wiedza o procesie.
Ustawienia osi i brakujące dane
Dokumentacja edycji osi opisuje zakresy oraz przywracanie ukrytych osi. Jeśli opcja edycji nie wygląda tak, jak oczekujesz, sprawdź, czy klikasz oś pola ciągłego, czy nagłówek pola dyskretnego. To inny element widoku, choć na początku łatwo je pomylić.
Dla słupków chcę widzieć sensowną podstawę porównania długości, zwykle zero. Nie ustawiam ciasnego zakresu tylko po to, żeby niewielka różnica wyglądała dramatycznie. Jeśli dla linii wybierasz zakres pomagający dostrzec małe zmiany, podpis i kontekst muszą tę decyzję wyjaśniać. Odbiorca nie powinien zgadywać ograniczeń skali.
Brak miesiąca albo wartości wymaga osobnej interpretacji. Nie przyjmuj automatycznie, że brak oznacza zero procent kosztów. Może oznaczać niedostarczony plik albo brak sprzedaży do obliczenia udziału. Przed publikacją uzgodnij, jak pokazać taki przypadek i czy linia powinna sugerować ciągłość pomiędzy dostępnymi punktami.
Alternatywy dla dwóch osi
Dwie miary o tej samej jednostce można umieścić na wspólnej osi, korzystając z Measure Names i Measure Values. Tę możliwość opisuje dokumentacja wielu miar. Warto ją rozważyć, gdy celem jest proste porównanie poziomów. Nie potrzebujesz dwóch skal tylko dlatego, że źródło ma dwie kolumny.
Przy odmiennych jednostkach często wybieram dwa panele ze wspólnym czasem. Zajmują więcej miejsca, ale każda miara ma własny, jednoznaczny kontekst. To szczególnie przydatne na telefonie, gdzie dwa podpisy pionowe, legenda i tooltip mogą nadmiernie ścisnąć obszar z danymi.
Można też porównywać zmiany względem okresu bazowego, ale wtedy zmienia się pytanie analityczne. Widok indeksów opisuje względną dynamikę, a nie poziomy sprzedaży i kosztów. Tytuł powinien to mówić. Więcej o podstawowej interpretacji znajdziesz w tekście o wzroście procentowym.
Gdy widok nie wygląda zgodnie z oczekiwaniem
Jeśli widzisz jeden punkt zamiast trzech miesięcy, sprawdź poziom daty oraz aktywne filtry. Jeżeli kwoty są większe niż w tabeli, wróć do agregacji i sposobu połączenia danych. Jeśli udział jest wszędzie taki sam, przyjrzyj się licznikowi, mianownikowi oraz wymiarom dodanym do widoku. Ustawienie osi nie zmieni błędnej definicji miary.
Przy niedostępnej opcji Synchronize Axis sprawdź typy pól i wersję Tableau. Aktualna dokumentacja zaznacza obsługę różnych typów numerycznych od wersji 2018.1, więc starszy zrzut ekranu może prowadzić do niepotrzebnej konwersji liczby całkowitej na dziesiętną. Techniczna dostępność opcji jest oddzielnym pytaniem od tego, czy wspólna skala ma sens dla danych jednostek.
Gdy znika jedna z osi, poszukaj opcji Show Header na odpowiadającym jej polu. Nie odtwarzaj całego arkusza, zanim sprawdzisz, czy oś została po prostu ukryta. Przy niezależnych skalach ukrycie prawej osi utrudnia odczyt miary, nawet jeśli tooltip nadal zawiera poprawne liczby. Widok powinien pozostać zrozumiały również dla kogoś, kto zobaczy tylko jego statyczny obraz.
Jak przekazać wykres do utrzymania
Obok widoku zostaw małą tabelę kontrolną z miesiącem i obiema miarami. Następna osoba powinna móc prześledzić lutowe 15% do kosztu 300 oraz sprzedaży 2000. Sam obraz nie pokazuje, skąd bierze się mianownik. Zapis definicji w opisie pola albo dokumentacji raportu ułatwia późniejsze dopisanie kolejnych miesięcy.
Przy przekazywaniu sprawdź także okres i filtr źródła. Dwa wykresy mogą wyglądać identycznie, choć jeden obejmuje cały miesiąc, a drugi tylko dni, dla których dostarczono dane. Brak końcówki okresu wymaga oznaczenia. Inaczej odbiorca może uznać niższą sprzedaż za realny spadek, podczas gdy raport pokazuje po prostu niepełny zestaw obserwacji.
Nazwij osobę odpowiedzialną za definicję udziału i ustal, co dzieje się przy zerowej sprzedaży. To mała decyzja, która wróci przy pierwszym nietypowym miesiącu. Jeśli ma zostać pokazany brak wyniku, nie zamieniaj go później na zero wyłącznie dla zachowania ciągłości linii. Przejrzysta informacja o ograniczeniu jest częścią użytecznego wykresu.
Na koniec obejrzyj wersję, którą rzeczywiście dostanie odbiorca. Eksport obrazu nie ma interaktywnego tooltipa, a mały panel dashboardu może ścisnąć etykiety. Podpisy i jednostki powinny wystarczać do zrozumienia podstawowego porównania. Jeśli ważna informacja istnieje wyłącznie po najechaniu myszką, zastanów się, jak przekażesz ją osobie oglądającej raport na telefonie albo w dokumencie.
Ćwiczenie przed publikacją
Zbuduj dwa widoki: sprzedaż ze wskaźnikiem kosztów na niezależnych osiach oraz sprzedaż z samym kosztem w tej samej jednostce. W drugim możesz świadomie porównać wspólną skalę. Zapisz, jakie pytanie czytelnik rozwiązuje w każdym wariancie. Jeżeli oba opisy brzmią identycznie, wróć do jednostek i celu.
Następnie zmień zakres jednej niezależnej osi i zobacz, jak zmienia się wizualna relacja serii. Liczby w źródle pozostają te same. To proste ćwiczenie pokazuje, dlaczego same podobne kształty nie powinny być głównym dowodem w komentarzu do raportu.
Przed oddaniem poproś drugą osobę o odczytanie wartości lutowych bez Twojej pomocy. Sprawdź, czy odróżnia sprzedaż od udziału i potrafi wskazać właściwą oś. Obejrzyj też widok w docelowym rozmiarze. Jeśli trzeba tłumaczyć każdą linię na spotkaniu, popraw etykiety lub uprość wykres.
Film o dual axis
Zostawiam powiązany polski film. Tekst rozwija dawną instrukcję o definicję udziału, jednostki i ograniczenia interpretacji. Materiał jest punktem wyjścia do ćwiczenia, a decyzję o skali podejmuj na podstawie danych oraz pytania odbiorcy.
Najważniejsze w pigułce
Co oznacza Dual Axis w Tableau?
Dwie niezależne osie nakładają miary w jednym panelu widoku. W przykładzie obie miary odnoszą się do tego samego miesiąca na osi poziomej.
Kiedy użyć Synchronize Axis?
Gdy wspólna skala liczbowa ma sens dla obu miar, zwykle przy tej samej jednostce. Sam podobny rząd wielkości nie uzasadnia synchronizacji, a procentów i kwot nie synchronizuję.
Czy przecięcie linii dowodzi związku między miarami?
Nie. Położenie linii zależy od obu skal. Wykres nie dowodzi przyczynowości, a przecięcie przy różnych jednostkach nie oznacza równości wartości.
Przy pracy nad artykułem użyto w zautomatyzowany sposób sztucznej inteligencji. Jeśli też chcesz tak umieć, sprawdź ten projekt.
