#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 ?
Вы также можете посмотреть здесь для получения дополнительной информации: Параметризованные запросы