Строим Hub-n-Spoke карты в Tableau
Карта Hub-n-Spoke (типа “звезды” c единой точкой в центре и лучами) может быть использована для визуализации маршрутов стыковочных рейсов, расписания поездок, схемы миграции или для отображения вашего офиса и ближайших к нему кафе-ресторанов (про рестораны сейчас пока неактуально, но все же :о).
Такой тип карты стал проще реализовать в Tableau после введения функций MakePoint и MakeLine (Tableau 2019.2).
Сегодня узнаем, как создавать карты такого типа с помощью этих функций (MakePoint и MakeLine), а именно узнаем:
1) как использовать эти функции без добавления дополнительных строк или столбцов в ваш набор данных и
2) когда лучше не использовать эти функции.
Для примера создайте и используйте CSV-файл, содержащий адреса 10 ресторанов и офиса.
Обратите внимание, что этот набор данных содержит столбец для широты (Latitude) и долготы (Longitude), поэтому мы будем использовать эти координаты вместо того, что Tableau генерирует автоматически. Если Tableau автоматически не распознает ваши координаты как широту и долготу, вы можете назначить им географические роли, щелкнув правой кнопкой мыши на каждом поле, наведя курсор на “географическую роль” и выбрав нужную широту или долготу.
Начнем с функции MakePoint, которая будет “строить точки” для основной точки и точек назначения. Эта функция не нужна, если вы просто создаете карту меток, отображающих каждое местоположение на соответствующем пересечении широты и долготы. Но создание точек с помощью функции MakeLine понадобится нам на следующем шаге для «соединения точек» линиями.
Синтаксис функции MakePoint — MAKEPOINT([Latitude],[Longitude]). Мы должны использовать эту функцию в двух вычисляемых полях: одно для основной точки и одно для точек назначения. Как видно, в наборе данных есть только один набор координат широты/долготы, поэтому начнем с них. Это вычисляемое поле в конечном итоге будет создавать точки для пунктов назначения:
MAKEPOINT([Latitude],[Longitude])
Далее нам понадобится вычисляемое поле, которое создаст точку для основного (центрального) местоположения. Набор данных может содержать 4 столбца для географических координат (исходная широта — Origin Latitude, исходная долгота — Origin Longitude, конечная широта — Destination Latitude и конечная долгота — Destination Longitude). В этом случае для создания исходной точки будем использовать исходные координаты с помощью функции MakePoint, а координаты назначения — с помощью функции MakePoint для создания координат назначения.
Однако попробуем изолировать координаты начальной точки — без необходимости использования двух дополнительных столбцов. Чтобы создать исходную точку, используем LOD FIXED для изоляции координат офиса. Формула такая:
MAKEPOINT({AVG(IF [Location] = “Playfair Data” THEN [Latitude] END)},{AVG(IF [Location] = “Playfair Data” THEN [Longitude] END)})
Вы не увидите выражение FIXED в вычисляемых полях. FIXED — это LOD и когда вы не обращаетесь к какому-либо конкретному измерению, не нужно включать это слово.
Чтобы лучше понять, что происходит, также это вычисление можно записать так:
MAKEPOINT({FIXED: AVG(IF [Location] = “Playfair Data” THEN [Latitude] END)},{FIXED: AVG(IF [Location] = “Playfair Data” THEN [Longitude] END)})
Теперь мы готовы к созданию соединительных линий с помощью функции MakeLine. Синтаксис функции MakeLine function такой — MAKELINE([Start Point],[End Point]). Сделаем еще одно вычисляемое поле и вставляем в наши вычисления для [Origin Point] и [Destination Points].
MAKELINE([Origin Point],[Destination Points])
Также можно “вложить” вычисления, необходимые для создания исходной точки и точек назначения. Но ими удобнее управлять, если они разделены на свои собственные вычисляемые поля. Если все-таки нужно иметь все в одном вычислении, то формула будет такой:
MAKELINE(MAKEPOINT({AVG(IF [Location] = “Playfair Data” THEN [Latitude] END)},{AVG(IF [Location] = “Playfair Data” THEN [Longitude] END)}),MAKEPOINT([Latitude],[Longitude]))
Теперь мы готовы создать карту hub-n-spoke! Сначала разместите меру Longitude на полку столбцов (Columns), а меру Latitude — на полку строк (Rows).
По умолчанию это создаст символьную карту с одной точкой-кругом. Эта единственная метка представляет собой пересечение средней долготы и средней широты по всему источнику данных.
Когда создаем карту из полей с географической ролью, проверяем, что тип метки изменен с “по умолчанию” (Circle) на “карта” (Map).
После смены типа метки на Map размещаем вычисляемое поле, созданное с помощью MakeLine, на карточку меток Detail и автоматически между исходной точкой и точками назначения появятся линии!
Примечание. Нам не всегда нужно использовать функции MakePoint и MakeLine для соединения точек линией. Подход, описанный в этой статье, является наиболее эффективным способом создания карты hub-n-spoke. Если нужно просто соединить точки последовательно, то измените тип метки на “линию” (Line) и добавьте поле порядка точек на карточку меток Path.
Также при создании карты hub-n-spoke можно сделать следующее:
– Составьте карту с двумя осями. Вторая ось должна содержать карту символов. Эта техника позволит сделать большие круглые метки на конце каждой «спицы».
– Измените тип карта на “улица” (Streets) — выберите в верхнем меню Maps > Map Layers… и измените опции в выпадающем меню Style на панели Map Styles.
– Измените цвет меток в зависимости от типа — исходная точка или точка назначения.
Источник: playfairdata.com
Мы, компания АНАЛИТИКА ПЛЮС, с 2012 года помогаем нашим клиентам работать с данными — находить полезные инсайты и использовать эту информацию для увеличения прибыли компании.
За это время мы разработали и внедрили решения для компаний из разных сфер бизнеса: ритейл, дистрибуция, логистика, e-commerce, банки и финансы, маркетинг, телеком, производство, логистика, транспорт.
Мы помогаем начать работу с инструментами BI, предоставляем услуги «под ключ» — от сбора данных до установки ПО и предоставления финального интерактивного отчета. И конечно — проводим обучение: наши клиенты ни от кого не зависят и умеют работать со своими данными самостоятельно!
Нам доверяют: