我想在Apache Superset Big Number可视化类型中使用自定义sql指标。我想使用类似SUM(col_name)/2700000.0的指标,但是它不起作用。
我尝试了SUM(col_name),它可以工作。我也尝试了SUM(col_name)/ COUNT(col_name),这也有效。
我要使用的指标: SUM(列名)/2700000.0
我希望指标能够正常运行,但是却出现错误:
ORA-00904:“ col_name”:无效的标识符
当我单击汉堡包图标并查看查询时,我可以看到:
SELECT SUM(col_name)/2700000.0
FROM
(SELECT SUM(col_name)/2700000.0 AS "SUM(col_name)/2700000.0"
FROM mytable
ORDER BY SUM(col_name)/2700000.0 DESC)
WHERE ROWNUM <= 50000;
答案 0 :(得分:0)
我认为这是在Oracle引擎上。 SQLAlchemy中的Superset或Oracle方言中似乎都存在一个错误,该错误导致外部查询的显示不带引号。通过将指标的别名更改为不带特殊字符的所有大写字母,例如MY_SUM
,查询应成功完成。
编辑:此错误已在SQLAlchemy 1.3.5中修复,并且自2019年6月19日起对Superset master分支进行了必要的更改。
答案 1 :(得分:0)
似乎在使用自定义SQL指标时,您必须为指标命名(例如“ ABC”)。然后,该指标获得了别名“ ABC”,并且查询工作正常:
选择“ ABC” 从 (SELECT SUM(col_name)/ 2700000 AS“ ABC” 来自mytable 订单总和(col_name)/ 2700000 DESC) ROWNUM <= 50000;