АНАЛИТИКА ПЛЮС
Профессиональные услуги в сфере BI

Диаграмма с воротами в Tableau

Автор этой пошаговой инструкции использовал данный способ для визуализации Премьер-лиги. Следуя инструкции, создать диаграмму с воротами легко, просто и доступно каждому.

Данные

Начинаем с загрузки источника данных Sample Superstore в Tableau Desktop/ Tableau Public: https://files.tableaumagic.com/Orders.csv

После того, как данные загружены в Tableau, кликаем правой кнопкой мыши на источник данных и выбираем Edit Data Source … когда откроется редактор Data Source, необходимо вставить следующее:

Path
1
2
3
4

 

Мы получаем ошибку (что ожидаемо, так как в таблицах нет общих колонок для джойна). Далее нажимаем «Add new join clause» , переходим к «Create Join Calculation» , вводим в редакторе формул значение 1 и кликаем «ОК». Нужно проделать те же самые действия и для правой таблицы в джойне. Необходимо убедиться, что выбрано Inner join.

Должно получиться так:

Диаграмма с воротами в Tableau, изображение №1

Вычисляемые поля

С нашим набором данных, загруженным в Tableau, необходимо создать следующий параметр и вычисляемые поля:

Параметр Year:

  • Установить Name как Year Parameter
  • Установить Data type как Integer
  • Установить Allowable values в виде List со следующими значениями:
    —2016
    —2017
    —2018
  • Установить Current value на 2018

Параметр Y Adjustment:

  • Установить Name как Y Adjustment
  • Установить Data type как Float
  • Установить Current value на 0,1

Sales Value (Selected) / Объем продаж (текущий период)

SUM(IF YEAR([Order Date]) = [Year Parameter] THEN
    [Sales]
END)
 

Sales Rank (Selected) / Рейтинг продаж (текущий период)

RANK_UNIQUE([Sales Value (Selected)])
 

Sales Value (Previous) / Объем продаж (предыдущий период)

SUM(IF YEAR([Order Date]) = [Year Parameter]-1 THEN
    [Sales]
END)
 

Sales Rank (Previous) / Рейтинг продаж (предыдущий)

RANK_UNIQUE([Sales Value (Previous)])
 

X Adjustment

IF [Sales Rank (Selected)] = [Sales Rank (Previous)] THEN    
    0
ELSE
    [Sales Rank (Selected)]/20
END
 

X

IF WINDOW_MAX(MAX([Path])) = 1 OR WINDOW_MAX(MAX([Path])) = 4 THEN
    0
ELSE
    IF [Sales Rank (Selected)] = [Sales Rank (Previous)] THEN
        0
    ELSEIF [Sales Rank (Selected)] > [Sales Rank (Previous)] THEN
        [Sales Rank (Selected)]-[Sales Rank (Previous)]
    ELSE
        -([Sales Rank (Previous)]-[Sales Rank (Selected)])
    END
END
 

Y

IF WINDOW_MAX(MAX([Path])) = 1 OR WINDOW_MAX(MAX([Path])) = 2 THEN
    [Sales Rank (Previous)]
ELSE
    [Sales Rank (Selected)]
END
 

Zero

0
 

Готово, приступим к созданию визуализации данных.

Рабочий лист

  • Меняем тип метки Mark на Line
  • Перетаскиваем Sub-Category на метку Detail
  • Перетаскиваем Path на метку Path
    —Кликаем правой кнопкой мыши на эту пилюлю и переходим в Dimension
  • Перетаскиваем Y на полку колонок Columns Shelf
    —Кликаем правой кнопкой мыши на эту пилюлю, переходим к Compute Using и выбираем Sub-Category
  • Перетаскиваем X на полку рядов Rows Shelf
    —Кликаем правой кнопкой мыши на эту пилюлю, переходим к Compute Using и выбираем Sub-Category

Должно получиться так:

Диаграмма с воротами в Tableau, изображение №2

Наводим красоту:

  • Ctrl (или Command) перетаскиваем X (для дублирования) с полки рядов Rows Shelf на Colour Shelf
    —Кликаем на метку Colour и меняем (reverse) цвет
  • Ctrl (или Command) перетаскиваем Path из метки Path на метку Size
  • Перетаскиваем Zero на полку рядов Rows Shelf
    —Кликаем правой кнопкой мыши на эту пилюлю и выбираем Dual Axis
  • На панели SUM(Zero) Marks
    —Меняем тип метки Mark Type на Circle
    —Удаляем все пилюли кроме Sub-Category
    —Кликаем правой кнопкой мыши на заголовок Zero Axis и выбираем Synchronize Axis.

Должно получиться так:

Диаграмма с воротами в Tableau, изображение №3

Последние штрихи в нашей визуализации:

Изменяем вычисляемое поле X на:

IF WINDOW_MAX(MAX([Path])) = 1 OR WINDOW_MAX(MAX([Path])) = 4 THEN
    0
ELSE
    IF [Sales Rank (Selected)] = [Sales Rank (Previous)] THEN
        0
    ELSEIF [Sales Rank (Selected)] > [Sales Rank (Previous)] THEN
        [Sales Rank (Selected)]-[Sales Rank (Previous)]+[X Adjustment]
    ELSE
        -([Sales Rank (Previous)]-[Sales Rank (Selected)])-[X Adjustment]
    END
END

Мы добавили «+» или « – » для параметра X Adjustment.

Изменяем вычисляемое поле Y на:

IF WINDOW_MAX(MAX([Path])) = 1 OR WINDOW_MAX(MAX([Path])) = 2 THEN
    [Sales Rank (Previous)]
    +IIF([Sales Rank (Selected)]=[Sales Rank (Previous)], 0,[Y Adjustment])
ELSE
    [Sales Rank (Selected)]
    -IIF([Sales Rank (Selected)]=[Sales Rank (Previous)], 0,[Y Adjustment])
END

Мы добавили вычисление для включения параметра Y Adjustment

Должно получиться так:

Диаграмма с воротами в Tableau, изображение №4

Последние штрихи в нашей визуализации:

  • Скроем заголовки осей X и Y
  • Скроем линии сетки Grid Lines
  • Перетаскиваем Sales Rank (Selected) на Label из (SUM(Zero) Label; изменяем цвет на белый с темной каймой
  • Добавляем подсказки Tooltips

Должно получиться так:

Диаграмма с воротами в Tableau, изображение №5

Вот и все!

x

Этот сайт использует файлы cookies, чтобы облегчить вам пользование нашим веб-сайтом.

Продолжая использовать этот веб-сайт, вы даете согласие на использование файлов cookies.