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

Кластеризация точек на карте с помощью Parameter action

Сегодня в статье рассмотрим, как сделать кластеризацию точек на карте в Tableau с помощью Parameter actions. Когда мы создаем на карте сотни или тысячи точек, карта выглядит загроможденной. Одним из методов, который поможет решить проблему, является кластеризация нескольких точек в одну точку (один маркер). При этом размер маркера зависит от количества точек в этой области.

Для этого будем использовать вычисления и Parameter actions. Набор данных можно скачать здесь. В этом наборе — 3 поля с данными точек в Цинциннати, штат Огайо. Нанесем эти точки на карту, используя их широту и долготу.

Итак, приступим!

Загружаем файл CSV в Tableau.
Перетаскиваем Incident No из Measures (меры) в Dimensions (измерения).

Создаем вычисляемое поле: Latitude Dimension
Формула:
[Latitude]

Перетаскиваем Latitude Dimension из Measures в Dimensions.

Двойной клик на Longitude — чтобы добавить его в колонки/столбцы.
Перетаскиваем Incident No в Details (детали) на карточке Marks.

Создаем параметр: Zoom Rotate
Data Type: Integer
Current Value: 1
Allowable Values: List
Вводим значения 1, 2, 3
Current Value: 1 [default]

Важно: вам понадобится значение для каждого уровня масштабирования точек. В нашем примере Level 1 — одна точка на карте, level 2 — группа точек, level 3 — все точки показываются отдельно.

Клик правой кнопкой мыши на параметр и выбираем Show Parameter
Двойной клик на Latitude — чтобы добавить его на полку рядов.
Двойной клик на Longitude — чтобы добавить на полку колонок/столбцов.
  Перетаскиваем Latitude Dimension в Details на карточке Marks.

Важно: для создания кластеров или групп можно использовать Incident No или любой другой уникальный дименшн (измерение) из набора данных. В данном примере сделаем дименшн из широты — чтобы показать, что группировать можно и по широте или долготе.

Мы сделаем кастомную группировку точек. Можно группировать по городам, почтовым индексам или георайонам:

—  С помощью инструмента Radial Selection на карте выберите западную часть Цинциннати и выберите группу точек.
—  Затем клик правой кнопкой мыши и клик на значок скрепки, чтобы добавить их в группу.

Повторяем эти шаги для восточной части Цинциннати, на севере и т.п. Это будут группы точек, которые мы кластеризуем в метке (mark).

Далее создаем кучу вычисляемых полей, которые будут переключаться на основе параметра.

Первый набор вычислений создаст New Latitude и New Longitude. Если в параметре Zoom Rotate выбран уровень 3, то вычисляемое поле будет использовать долготу и широту точек (Latitude и Longitude). Если уровень 3 не выбран, то вычисляемое поле будет объединять точки в маркер/метку (marker).

Вычисляемое поле: New Latitude
Формула:
if [Zoom Rotate] = 3
then [Latitude]
else { fixed [Latitude Dimension (group)] : avg([Latitude])}
end

Вычисляемое поле: New Longitude
Формула:
if [Zoom Rotate] = 3
then [Longitude]
else { fixed [Latitude Dimension (group)] : avg([Longitude])}
end

Клик правой кнопкой мыши на New Latitude и выбираем Geographic Role, затем нажимаем Latitude.
Клик правой кнопкой мыши на New Longitude, выбираем Geographic Role и нажимаем Longitude.

Rotation Index используется для поворота вью в parameter action. Этоn индекс устанавливает следующий уровень для любого выбранного уровня. Если параметр установлен на 1 или 2, то индекс будет добавлять еще один уровень. Если установлен на 3, то будет переход к 1.

Вычисляемое поле: Rotation Index
Формула:
if [Zoom Rotate] = 3
then 1
else [Zoom Rotate] + 1
end

Следующий набор вычислений используется для разбиения точек на карте до нужного уровня детализации. Если используется First Zoom (первый уровень увеличения карты), а параметр установлен на 1, то значение становится NULL — и все точки агрегируются в один маркер. Если параметр не 1, то используются группы, которые необходимо. При Second Zoom (второй уровень увеличения) точки разделяются по Latitude Dimension, если параметр установлен на 3.


Вычисляемое поле: First Zoom
Формула:
if [Zoom Rotate] = 1
then NULL
else [Latitude Dimension (group)]
END

Вычиялемое поле: Second Zoom
Формула:
if [Zoom Rotate] = 3
then [Latitude Dimension]
END

Вычисления для Label, Size и Tooltip настроены так, что они динамически изменяются при выборе различных значений параметра.

Вычисляемое: Label
Формула:
if [Zoom Rotate] !=3
then {fixed [Latitude Dimension (group)] : sum([Number of Records]) }
end

Вычисляемое поле: Size
Формула:
if [Zoom Rotate] !=3
then {fixed [Latitude Dimension (group)] : sum([Number of Records]) }
else 1
end

Вычисляемое поле: Tooltip
Формула:
if [Zoom Rotate] = 3
then ‘INCIDENT #: ‘ + str([Incident No])
elseif [Zoom Rotate] = 2
then str([Label]) + ‘ TOTAL INCIDENTS’
END

Создавать визуализацию проще на новом рабочем листе.

Двойной клик на New Latitude — добавляем на полку рядов.
Двойной клмк на  New Longitude — добавляем на полку колонок.
Двойной клик на Size — добавляем на поле Size.
Двойной клик на легенду Size — редактируем Size.
Устанавливаем Sizes Vary на By Range.
Выбираем Start Value для Range и устанавливаем на 0.
Выбираем End Value для Range и устанавливаем на 1000 (или ваше значение).
Перетаскиваем Slider out на Largest — чтобы сделать размер (Size) бОльшим для большого количества точек в маркере (или меньшим).
Перетаскиваем Label на поле Label на карточке Marks Card.
Выбираем Select Label на карточке Marks и устанавливаем Alignment на Vertical Middle.
Перетаскиваем Tooltip на поле Tooltip на карточке Marks Card.
Перетаскиваем  First Zoom на поле Details на карточке Marks Card.
Перетаскиваем Second Zoom на поле Details на карточке Marks Card.
Перетаскиваем Rotation Index на поле Details на карточке Marks Card.

Мы создали визуализацию! Если все работает правильно, то при установке значения параметра на 1, на карте будет 1 маркер (1 большая точка). При изменении на 2, карта покажет пользовательские группы, которые мы создали раньше. А при установке на 3 покажет все точки отдельно. Метки и подсказки являются динамическими, поэтому они также будут настраиваться на основе значения параметра.

Добавляем Parameter и Filter Actions


Последние шаги — создаем несколько Worksheet Actions (или Dashboard Actions).

Выбираем Add Action
Выбираем Change Parameter
Меняем Target Parameter на Zoom Rotate
Меняем Value Field на Rotation Index и Aggregation — на Average, кликаем OK

Теперь при нажатии маркера/метки на карте автоматически переключит карту на новый уровень детализации. Но на третьем уровне отображаются все наши метки/точки. Если нужно, чтобы карта фильтровала или увеличивала точки на втором и третьем уровнях, то добавляем еще одно действие для фильтрации точек.

   Выбираем Add Action
Выбираем Filter
Меняем Run Action на Select
Устанавливаем Clearing Selection на Show All Values
Кликаем Selected Fields под фильтром Target Filter
Кликаем Add Filter и выбираем First Zoom из списка в обоих выпадающих меню.

Теперь карта будет детализироваться при нажатии на маркеры, изменяя значение параметра и изменяя количество отображаемых меток. Кроме того, filter action отфильтрует те маркеры/точки, которые не являются частью выбранного уровня.

Если вы хотите, чтобы ваша карта увеличивалась на каждом уровне, не забудьте открепить карту (Unpin), чтобы уровень масштабирования настраивался автоматически в зависимости от отфильтрованных отображаемых точек.

Источник: www.dataplusscience.com

ЦИФРЫ О НАС

Мы, компания АНАЛИТИКА ПЛЮС, с 2012 года помогаем нашим клиентам работать с данными — находить полезные инсайты и использовать эту информацию для увеличения прибыли компании.

За это время мы разработали и внедрили решения для компаний из разных сфер бизнеса: ритейл, дистрибуция, логистика, e-commerce, банки и финансы, маркетинг, телеком, производство, логистика, транспорт.

Мы помогаем начать работу с инструментами BI, предоставляем услуги «под ключ» — от сбора данных до установки ПО и предоставления финального интерактивного отчета. И конечно — проводим обучение: наши клиенты ни от кого не зависят и умеют работать со своими данными самостоятельно!

Как мы помогаем в работе с данными? >>

x

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

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