У меня есть база данных 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]
}
}
}
Я хотел бы построить график Y
против X
на диаграмме рассеяния в Tableau. Поэтому я успешно подключил базу данных с помощью коннектора PostgreSQL Tableau. Из этой страницы я узнал, что мне нужно использовать пользовательские запросы SQL для извлечения данных из объекта json, поскольку Tableau напрямую не поддерживает тип данных json
Postgres. Я уже пробовал следующий Custom SQL Query in Tableau:
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
, поэтому я не могу использовать их в качестве источника данных для графика.
Как мне настроить запрос Custom SQL, чтобы массивы данных отображались на диаграмме рассеяния Tableau?