Apache Superset中自定义SQL指标无法使用的问题求助
在Apache Superset中创建自定义指标的正确写法
问题出在你写了完整的SELECT查询语句,而Superset的自定义指标只需要写计算表达式片段——因为Superset会自动把你的指标嵌入到它生成的完整SQL结构中,直接写完整SELECT会导致语法冲突,出现syntax error at or near "SELECT"。
正确写法示例:
简单销售总额指标:
不需要SELECT和FROM,直接写聚合表达式:SUM(sales) AS "Sales"或者更简洁,表达式填
SUM(sales),然后在指标名称栏输入"Sales"即可。分类级别的销售指标(窗口函数):
同样只写窗口函数部分,不需要完整查询:SUM(sales) OVER (PARTITION BY category) AS "CategorySales"或者表达式填
SUM(sales) OVER (PARTITION BY category),指标名称设为"CategorySales"。
为什么之前的写法错误?
当你在指标里写完整的SELECT SUM(sales) FROM SuperStore,Superset生成的最终SQL会变成类似:
SELECT SELECT SUM(sales) FROM SuperStore FROM SuperStore
这种重复的SELECT语句自然会触发语法错误,嵌套查询的写法也会导致同样的问题——因为Superset会把你的嵌套查询直接插入到它的查询结构中,造成语法混乱。
内容的提问来源于stack exchange,提问作者Learner1122
相关产品推荐
相关产品推荐

