如何在Superset中用SQL访问数据并生成评级统计并列条形图
在Superset中使用SQL访问目标数据
- 打开Superset,进入SQL Lab模块
- 在查询编辑器中编写SQL语句直接访问目标数据,示例语句:
SELECT * FROM your_target_table LIMIT 100; - 执行查询后,点击Save as Dataset将结果保存为数据集,后续可视化可直接调用
- 若需关联多数据源,确保数据源已在Superset配置完成,直接用SQL的JOIN语法关联即可
解析JSON字段统计评级并生成并列条形图
第一步:编写SQL解析并统计数据
假设表名为feedback,JSON字段名为activity_ratings,用SQL拆分JSON键值对并统计各评级数量:
WITH activity_ratings_unpacked AS ( SELECT jsonb_each_text(activity_ratings) AS activity_rating_pair FROM feedback ), activity_rating_details AS ( SELECT (activity_rating_pair).key AS activity_name, TRIM(SPLIT_PART((activity_rating_pair).value, ' ', 2, 100)) AS rating FROM activity_ratings_unpacked ) SELECT activity_name, rating, COUNT(*) AS rating_count FROM activity_rating_details WHERE rating IN ('Very helpful', 'helpful', 'not helpful') GROUP BY activity_name, rating ORDER BY activity_name;
注:不同数据库JSON函数有差异,比如MySQL需替换
jsonb_each_text为JSON_TABLE,请根据实际数据库调整。
第二步:生成并列条形图
- 将上述SQL查询保存为数据集
- 进入Charts模块,点击Create Chart并选择该数据集
- 图表类型选择Grouped Bar Chart(并列条形图)
- 配置面板设置:
- X轴选择
activity_name - Y轴选择
rating_count - 分组字段选择
rating
- X轴选择
- 调整标签、颜色等样式后,保存并发布图表
内容的提问来源于stack exchange,提问作者Ugo Nnadi
相关产品推荐
相关产品推荐

