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”

image

image

问题原因

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