Я пытаюсь создать пользовательский запрос в Tableau для использования в BigQuery Google. Цель состоит в том, чтобы иметь параметр offset в таблице, который изменяет смещения, используемые в предложении WHERE, основанном на дате.Невозможно использовать вычисленное смещение в функции DATE_ADD BigQuery
В Tableau это будет выглядеть следующим образом:
SELECT
DATE_ADD(UTC_USEC_TO_MONTH(CURRENT_DATE()),<Parameters.Offset>-1,"MONTH") as month_index,
COUNT(DISTINCT user_id, 1000000) as distinct_count
FROM
[Orders]
WHERE
order_date >= DATE_ADD(UTC_USEC_TO_MONTH(CURRENT_DATE()),<Parameters.Offset>-12,"MONTH")
AND
order_date < DATE_ADD(UTC_USEC_TO_MONTH(CURRENT_DATE()),<Parameters.Offset>-1,"MONTH")
Однако BigQuery всегда возвращает ошибку:
Error: DATE_ADD 2nd argument must have INT32 type.
Когда я пытаюсь тот же запрос в редакторе BigQuery с помощью простых арифметических действий он терпит неудачу с та же ошибка.
SELECT
DATE_ADD(UTC_USEC_TO_MONTH(CURRENT_DATE()),5-3,"MONTH") as month_index,
FROM [Orders]
Любое обходное решение для этого? Кажется, мой единственный вариант - сделать несколько смещений в Tableau.
Спасибо за помощь!
Это не связано с отсутствием функциональности часового пояса. Мы находимся за 2 часа до UTC летом, а всего 1 - зимой. – Wouter