在仪表板上,是什么原因导致"Error running query: 100035 (22007): Timestamp 'd_yesterday' is not recognized"?



在一个由Snowflake数据库支持的Redash应用程序实例上,我设置了一个面板,其中包含许多查询,每个查询都接受一个名为startDatedate类型的参数。

我的每个查询都经过编码,通过WHERE子句应用仪表板的选定日期,如:

WHERE created_at >= '{{ startDate }}'

在大多数情况下,这都很好。

但是,在我的仪表板上,对于startDate参数,我选择了特殊值Yesterday(而不是特定日期(,我的一些(但不是全部(查询显示错误,而不是显示任何数据:Error running query: 100035 (22007): Timestamp 'd_yesterday' is not recognized

这个错误是什么意思?我该如何修复它?

当在受影响的查询中,参数的默认类型仍然是text,而不是更改为date时,就会出现此问题。

出现错误是因为选择了特殊日期值"0";昨天"在仪表板上只能使用日期类型的参数,而不能使用文本类型的参数。

在每个单独的查询中将参数类型更改为date,保存这些更改,然后刷新面板,应该可以解决这个问题。

最新更新