#sql #snowflake-cloud-data-platform #redash
#sql #snowflake-cloud-data-platform #redash
Вопрос:
В экземпляре приложения Redash, поддерживаемом базой данных Snowflake, у меня настроена панель мониторинга с несколькими запросами, каждый из которых принимает параметр типа date
named startDate
.
Каждый из моих запросов закодирован для применения выбранной даты панели мониторинга с помощью предложений WHERE, таких как:
WHERE created_at >= '{{ startDate }}'
В большинстве случаев это работает нормально.
Однако, когда на моей панели управления для startDate
параметра я выбираю специальное значение Yesterday
(вместо конкретной даты), некоторые (но не все) мои запросы отображают ошибку вместо отображения каких-либо данных: Error running query: 100035 (22007): Timestamp 'd_yesterday' is not recognized
.
Что означает эта ошибка и как я могу ее исправить?
Ответ №1:
Эта проблема возникает, когда в затронутых запросах параметр по-прежнему имеет тип по умолчанию text
вместо того, чтобы быть измененным на type date
.
Ошибка возникает из-за того, что выбор специального значения даты «Вчера» на панели мониторинга работает только с параметрами типа даты, а не с параметрами типа текста.
Изменение типа параметра на date
в каждом из отдельных запросов, сохранение этих изменений и затем обновление панели мониторинга должны устранить проблему.
Комментарии:
1. и, говоря о сообщении об ошибке, ожидается строка, которая может быть проанализирована как дата, таким образом, тип ‘ГГГГ-ММ-ДД’, а ‘d_yesterday` не соответствует формату даты по умолчанию для сеанса / пользователя.