如何在Superset中添加填充固定常量值的新列
Superset新增固定值"ABC"列的配置方法
根据你使用的场景不同,有两种常用实现方式:
方式一:数据集层面永久新增(全图表复用)
这种方式添加的列会成为数据集的固定字段,所有基于该数据集创建的图表、看板都可以直接调用:
- 进入顶部导航栏「数据」-「数据集」页面,找到目标数据集,点击编辑按钮进入配置页
- 切换到「计算列」标签,点击「新增计算列」
- 自定义列名称,比如命名为
fixed_flag - 表达式输入框中填写固定值:
- 绝大多数支持标准SQL的数据源(MySQL、PostgreSQL、Spark SQL、ClickHouse等)直接填
'ABC'即可 - 如果数据源有严格类型校验要求,可以写成
CAST('ABC' AS VARCHAR)显式指定为字符串类型
- 绝大多数支持标准SQL的数据源(MySQL、PostgreSQL、Spark SQL、ClickHouse等)直接填
- 列类型选择「字符串」,点击校验按钮确认表达式无语法错误后保存配置
- 刷新数据集预览页,就能看到该列所有行均已统一填充为"ABC"
注意:不要把字符串的单引号写成双引号,绝大多数SQL数据源中单引号才是字符串常量的标准写法,双引号会被识别为字段名,直接触发查询报错
方式二:图表探索页临时新增(仅当前图表生效)
如果只是单个图表需要用到这个固定值列,不需要全局复用,可以直接在图表配置页添加:
- 打开目标图表的探索编辑页面
- 在「数据」配置栏找到计算列入口(不同版本位置略有差异:老版本在独立的「计算列」板块,新版本在列配置区的「新增计算列」按钮)
- 自定义列名,SQL表达式同样填
'ABC',确认保存 - 将新增的列拖入维度/指标配置区,点击运行查询,即可在图表结果中看到全量行的该列值为"ABC"
如果是在SQL Lab中临时查询需要加固定列,直接在SELECT语句中硬编码即可,示例:
SELECT *, 'ABC' AS fixed_col FROM 你的业务表名;查询结果保存为虚拟数据集后,该固定列也会同步保留。
内容的提问来源于stack exchange,提问作者Romain Kermouche
相关产品推荐
相关产品推荐

