Quick BI数据集加速成功,但是图表直连数据库查询,日志报错“Can not input 'create|update|delete|insert|truncate|drop|exec|execute|load_file|select|from', please change it and try again”
更新时间:
问题描述
Quick BI数据源是hologres,数据集加速成功,但是图表直连数据库查询,日志报错“Can not input 'create|update|delete|insert|truncate|drop|exec|execute|load_file|select|from', please change it and try again”


问题原因
1.在仪表板中建的计算字段用到了hologres的函数DATE_TRUNC,语法不兼容。
2.hologres数据库特定语法(例如:DAY FROM)的计算字段,定义在图表层面,加速引擎无法翻译执行,因此抛错后直连数据库查询。
AVG(
CASE
WHEN DATE_TRUNC('MONTH', CAST(AID_T_1_."ds" AS DATE)) = DATE_TRUNC('MONTH', CURRENT_DATE) THEN EXTRACT(
DAY
FROM
CURRENT_DATE - INTERVAL '1 DAY'
)
ELSE EXTRACT(
DAY
FROM
DATE_TRUNC('MONTH', CAST(AID_T_1_."ds" AS DATE)) + INTERVAL '1 MONTH' - INTERVAL '1 DAY'
)
END
)解决方案
1.需要使用Quick BI内置函数BI_DATETRUNC。内置函数请参考:日期函数
2.建议计算字段下沉配置到数据集上,图表引用数据集上的计算字段。加速引擎引起开启抽取计算字段,数据就可以抽取到加速引擎。
适用于
Quick BI独立部署V5.5.1
该文章对您有帮助吗?