我正在将mongo集合移动到bigquery中,以便在googledatastudio中进行分析和可视化。我特别想画出 locations
集合,它有多个记录,每个位置一个。每个记录将lat存储为2个数字的数组。
在datastudio中,当我尝试Map locations.coordinates
值,因为它只拉入数组的第一个值。如果不是Map它,而是将结果输出为一个表,则每个记录有2行,其中 _id
同样的和 locations.coordinates
在有纬度的行之间是不同的( locations.coordinates[0]
)另一行代表经度( locations.coordinates[1]
).
我想我必须在bigquery中作为一个调度查询来执行这个操作,它在每次数据同步之后运行。但是,我希望有一种方法可以在googledatastudio中作为计算字段或混合数据集来实现这一点。
mongo中存在的数据
bigquery中存在的数据
datastudio中的数据
附加:大查询记录类型
1条答案
按热度按时间1szpjjfi1#
您可以直接寻址数组中的值,并使用struct等相应地转换数据:
有
offset()
对于基于0的访问,ordinal()
基于1的访问和safe_
如果数组中的索引不存在,则不会触发错误。如果您需要知道缺少值,那么应该使用不带值的版本safe_
.无论如何-通过从数组中选择特定值,此结构是扁平的。它应该与datastudio或任何其他可视化工具一起工作,不再有重复的行