首页 > 解决方案 > 在 redash 仪表板上,是什么原因导致“运行查询时出错:100035 (22007):无法识别时间戳 'd_yesterday'”?

问题描述

在由 Snowflake 数据库支持的 Redash 应用程序实例上,我设置了一个仪表板,其中包含许多查询,每个查询都采用date名为startDate.

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

WHERE created_at >= '{{ startDate }}'

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

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

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

标签: sqlsnowflake-cloud-data-platformredash

解决方案


当在受影响的查询上,参数仍然具有其默认类型text,而不是已更改为 type时,会出现此问题date

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

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


推荐阅读