Quick BI报错“调用对象查询时异常:... Parse exception - invalid token...”
更新时间:
问题描述
数据集预览数据都正常,但是仪表板制作图表时报错,报错内容:调用对象查询时异常 : INTERNAL: java.sql.SQLException: [400] com.aliyun.odps.OdpsException: ODPS-0130161:[1,39] Parse exception - invalid token ',', expect one of 'MINUS','UNION','INTERSECT','EXCEPT','SEMICOLON'#ODPS-0130161:[1,46] Parse exception - invalid token '('#ODPS-0130161:[1,201] Parse exception - invalid token 'LIMIT'
问题原因
SQL语法有误,需要仔细排查带有聚合函数的计算字段。数据集预览正常,仪表板报错,是因为数据集预览时,不会预览带有聚合函数的字段。
解决方案
需要逐个排查计算字段的语法是否有误,语法与数据集使用的数据库类型有关,Quick BI没有内置的函数。新手遇到比较常见的错误:
- 聚合函数后面不写括号
错误写法:count [字段a]
正确写法:count([字段a])
- 计算字段引用的字段名不是通过单击右侧字段列表或者键盘点击“[”唤出的,而是手动打上的。
错误写法:count(字段名)
正确写法:count([字段a])
- 除法没有考虑分母为0的情况
错误写法
:sum([字段a])/sum([字段b])
正确写法:case when sum([字段b])=0 then 0 else sum([字段a])/sum([字段b]) end
- 写计算字段时,函数前写“=”
错误写法
:=count([字段a])
正确写法:count([字段a])
由于这块报错的原因很多,无法逐一枚举,只要在遇到带有"Parse exception - invalid token"字样的报错内容,就需要特别注意计算字段的语法问题。
适用于
- Quick BI
该文章对您有帮助吗?