【发布时间】:2020-06-17 07:15:47
【问题描述】:
我有一个 PostgreSQL 数据库,其中包含一个带有单独记录的表 test_table。第一列是一个简单的store_id,第二列meausurement是一个嵌套的json。
store_id | measurement
----------------------
0 | {...}
measurement列的格式如下:
{
'file_info': 'xxxx',
'data': {
'contour_data': {
'X': [-97.0, -97.0, -97.0, -97.0, -97.0, -97.0],
'Y': [-43.0, -41.0, -39.0, -39.0, -38.0, -36.0]
}
}
}
我想在 Tableau 的散点图中绘制 Y 与 X。因此,我使用 Tableau 的 PostgreSQL 连接器成功连接了数据库。从this 页面我了解到,我必须使用自定义 SQL 查询从 json 对象中提取数据,因为 Tableau 不直接支持 Postgres 的json 数据类型。我已经在 Tableau 中尝试了以下自定义 SQL 查询:
select
store_id as store_id,
measurement#>>'{data, contour_data, X}' as contour_points_x,
measurement#>>'{data, contour_data, Y}' as contour_points_y
from test_table
成功地将两个数组提取到两个新列contour_points_x 和contour_points_y。但是,这两个新列都在 string 类型的 Tableau 中,因此我不能将它们用作绘图的数据源。
如何调整自定义 SQL 查询以使数据数组可在 Tableau 散点图中绘制?
【问题讨论】:
标签: database postgresql data-science tableau-api postgresql-json