我有QLik/Sense,Big,(及相关)方面的知识。
我需要创建一个包含多个点的地图,每个点将显示数据库中的数据(与点相关)。
例如,该表如下所示:
+------------+---------------------------+-----------+---------+-------+
| 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 |
+------------+----------+-----------+以及商店1:
+------------+----------+-----------+
| Product 1 | True | False |
+------------+----------+-----------+我试过:
有什么建议可以用吗?
发布于 2019-02-01 16:10:53
在我看来,这是最简单的。
首先,只需加载Store和Product并创建简单的数据模型:

然后添加新图表(Map)并设置位置字段:

增加新的计算尺寸:

=Product & ', Ordered: ' & Ordered & ', Sold: ' & Sold仅此而已。准备:

发布于 2019-01-31 22:26:02
有什么建议可以用吗?
作为一种解决办法,您可以考虑在可视化数据之前做一些额外的工作,如下面的示例所示(BigQuery标准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工具中运行在上面-您将得到如下所示

为了使可视化更有“情趣”,您可以添加一些附加内容:
#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 因此,结果会更好地格式化(如下图所示)。

你可能会采用这种“技术”,除非你会找到一个工具来独立处理你的所有需求。
同时,请记住,不同的工具将以不同的方式处理此类解决方案--例如,如果您在歌利亚中运行两个脚本以上--您将分别拥有:

和

此外,在Goliath中,Geo可视化是内置的特性,因此您可以在不离开BigQuery工具的情况下,通过多层交互构建地理可视化,并组合来自多个查询等的结果。
披露:我是作者,产品负责人,并领导着Potens.io工具套件的开发(歌利亚是其中的一部分)--这也在我的SO个人资料中有明确的说明。
https://stackoverflow.com/questions/54463896
复制相似问题