Необъявленные параметры запроса @DS_START_DATE bigquery

#parameters #google-bigquery #google-data-studio #query-parameters

# #параметры #google-bigquery #google-data-studio #запрос-параметры

Вопрос:

Итак, я пытался установить параметры @DS_START_DATE и @DS_END_DATE для фильтрации некоторых данных в Data Studio. Идея состоит в том, чтобы сравнить год транзакции с годом даты, выбранной параметром, и создать столбец, который сохраняет значение другого, используя CASE WHEN предложение. Извлечение запроса выглядит следующим образом:

 CASE 
WHEN EXTRACT(YEAR FROM fechaTransaccion) = EXTRACT(YEAR FROM CAST(@DS_END_DATE AS DATE))
THEN VlrBruto ELSE 0 END AS VlrBruto_Actual,
CASE WHEN EXTRACT(YEAR FROM fechaTransaccion) =  EXTRACT(YEAR FROM CAST(@DS_START_DATE AS DATE)) 
THEN VlrBruto ELSE 0 END AS VlrBruto_Anterior
 

Я попытался добавить фильтр даты в свой отчет data Studio и уже активировал параметры даты при выполнении персонализированной консультации и все еще не работает. При выполнении запроса в bigquery появляется окно с надписью «Необъявленные параметры запроса». При запуске в data Studio в приглашении отображается сообщение «непредвиденная ошибка консультации».

Есть идеи, как это решить? Заранее спасибо

Ответ №1:

Попробуйте использовать:

 EXTRACT(YEAR FROM PARSE_DATE('%Y%m%d', @DS_END_DATE))
 

вместо

 # EXTRACT(YEAR FROM CAST(@DS_END_DATE AS DATE))
 

Комментарии:

1. Спасибо! Это было действительно полезно и работает, когда я подключаю запрос к data Studio через персонализированную консультацию. Однако, когда я переключаюсь на представление в большом запросе, это не работает. Есть идеи по этому поводу?

2. «@DS_END_DATE», «@DS_START_DATE» являются специфичными для Google Datastudio, использующими стандартный sql в BigQuery EXTRACT (ГОД ИЗ fechaTransaccion) = 2020. Вы не можете использовать эти параметры при создании представлений в BigQuery.

Ответ №2:

Если вы используете пользовательский интерфейс BQ, он не будет работать, поскольку он не поддерживает параметризованные запросы.

Если вы не используете пользовательский интерфейс BQ, вы объявили и установили переменные с помощью операторов DECLARE и SET ?

Вы также можете посмотреть здесь для получения дополнительной информации: Параметризованные запросы