Рекомендация по инструменту для создания карты взаимодействия с несколькими измерениями - PullRequest
0 голосов
/ 31 января 2019

У меня есть знания в QLik / Sense, Big Query, Google Data Studio (и связанных с ними)

Мне нужно создать карту с несколькими точками, и каждая точка будет отображать данные из базы данных (связанные с точками)

Таблица будет выглядеть, например, так:

+------------+---------------------------+-----------+---------+-------+
| Store Name | Store Location (Long/Lat) | Product   | Ordered | Sold  |
+============+===========================+===========+=========+=======+
| Store 1    | XXX,XXX                   | Product 1 | True    | False |
+------------+---------------------------+-----------+---------+-------+
| Store 2    | YYY,YYY                   | Product 1 | True    | True  |
+------------+---------------------------+-----------+---------+-------+
| Store 2    | YYY,YYY                   | Product 2 | False   | True  |
+------------+---------------------------+-----------+---------+-------+

Так что, когда вы наведите курсор мыши на карту в магазине «Магазин 2», вы увидите всплывающее окно только с:

+------------+----------+-----------+
| Product 1  | True     | True      |
+------------+----------+-----------+
| Product 2  | False    | True      | 
+------------+----------+-----------+

А Store 1:

+------------+----------+-----------+
| Product 1  | True     | False     |
+------------+----------+-----------+

Я пробовал:

  • Google Data studio (ограничить одно измерение, например, названием магазина и тем, что оно)
  • Qlik Предел до 1 измерения
  • Google maps, лучше, но я могу отображать только 1 продукт, а не список продуктов

Любые предложения, что можно использовать?

Ответы [ 2 ]

0 голосов
/ 01 февраля 2019

На мой взгляд, в Qliksense это проще всего.

Сначала просто загрузите таблицу Store и Product и создайте простую модель данных:

data model

Затем добавьте новую диаграмму (карту) и установите поля местоположения:

add map

Добавьте новое вычисленное измерение:

calculated dimension

=Product & ', Ordered: ' & Ordered & ', Sold: ' & Sold

и все.Готов:

solution

0 голосов
/ 01 февраля 2019

Любые предложения, что можно использовать?

В качестве обходного пути - вы можете подумать над тем, чтобы проделать дополнительную работу, прежде чем визуализировать свои данные, как в примере ниже (BigQuery Standard SQL)

#standardSQL
WITH `project.dataset.table` AS (
    SELECT "Maria's Tortillas" Store, '-118.379096984863,33.9593620300293' Location, 'machaka breakfast burritos' Product, TRUE Ordered, FALSE Sold UNION ALL
    SELECT "Maria's Tortillas", '-118.379096984863,33.9593620300293', 'chile relleno plate', TRUE, TRUE UNION ALL
    SELECT "Anthony's Gift Shop", '-118.371124267578,33.9462585449219', 'LA commemorative trinkets', FALSE, TRUE 
)
SELECT 
    ANY_VALUE(ST_GEOGFROMTEXT(CONCAT('POINT(', REPLACE(location, ',', ' '), ')'))) Store_Location,
    Store Store_Name, 
    STRING_AGG(CONCAT(Product,' | ',CAST(Ordered AS STRING),' | ',CAST(Sold AS STRING)), ' *** ') Products
FROM `project.dataset.table`
GROUP BY Store

Если вы запустите выше в BigQuery Geo Viz Tool - вы получите что-то вроде ниже

enter image description here

Чтобы немного «оживить» визуализацию, вы можете добавить некоторые дополнительные функции:

#standardSQL
WITH `project.dataset.table` AS (
    SELECT "Maria's Tortillas" Store, '-118.379096984863,33.9593620300293' Location, 'machaka breakfast burritos' Product, TRUE Ordered, FALSE Sold UNION ALL
    SELECT "Maria's Tortillas", '-118.379096984863,33.9593620300293', 'chile relleno plate', TRUE, TRUE UNION ALL
    SELECT "Anthony's Gift Shop", '-118.371124267578,33.9462585449219', 'LA commemorative trinkets', FALSE, TRUE 
)
SELECT 
    ANY_VALUE(ST_GEOGFROMTEXT(CONCAT('POINT(', REPLACE(location, ',', ' '), ')'))) Store_Location,
    Store Store_Name, 
    CONCAT(
        '<table cellpadding="5" style="border-style:solid; border-width:1px;border-collapse:collapse;">',
        STRING_AGG(CONCAT('<tr>',td,Product,'</td>',td,CAST(Ordered AS STRING),'</td>',td,CAST(Sold AS STRING),'</td></tr>')),
        '</table>'
    ) Products
FROM `project.dataset.table`, UNNEST(['<td style="border-style:solid;border-width:1px">']) td
GROUP BY Store  

Итак, результат будет немного лучше отформатирован (как на картинке ниже)

enter image description here

Возможно, вы сможете применить эту «технику», если не найдете инструмент, который самостоятельно обрабатывает все ваши потребности

Между тем, помните, что различные инструментыотноситься к такому обходному пути по-другому - например, если вы запустили два сценария в Голиаф - у вас будет соответственно:

enter image description here

и

enter image description here

Также в Голиафе, Гео Висualization является встроенной функцией, так что вы можете интерактивно создавать гео-визуализации с несколькими слоями и комбинировать результаты нескольких запросов и т. д., не выходя из BigQuery Tool

Раскрытие информации: Я автор, владелец продукта и являюсьведущий разработчик пакета инструментов Potens.io (частью которого является Голиаф), что также четко указано в моем профиле SO

...