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

On a redash dashboard, what causes "Error running query: 100035 (22007): Timestamp 'd_yesterday' is not recognized"?

在一个由 Snowflake 数据库支持的 Redash 应用程序实例上,我设置了一个包含多个查询的仪表板,每个查询都带有一个名为 startDatedate 类型参数。

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

WHERE created_at >= '{{ startDate }}'

在大多数情况下,这工作正常。

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

这个错误是什么意思,我该如何解决?

当在受影响的查询上,参数仍具有其默认类型 text,而不是更改为类型 date.

时,会出现此问题

发生错误是因为在仪表板上选择特殊日期值“昨天”仅适用于 date-type 参数 -- 不适用于 text-type 参数。

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