Есть ли способ объявить переменную в пользовательском запросе студии данных?

avatar
JCDB
1 июля 2021 в 17:28
639
2
4

У меня возникла проблема, похожая на описанную здесь: Сокращение разделов BigQuery с помощью Data Studio

Я хочу объявить переменную для выполнения пользовательского запроса в студии данных.

Например:

DECLARE usd_to_eur_rate FLOAT64;
SET usd_to_eur_rate = 0.8;   

SELECT itemPrice_USD*usd_to_eur_rate as itemPrice_EUR
FROM `dataset.table`

Запрос работает в BigQuery, но не в студии данных.

Как и в вышеупомянутой теме, я получаю сообщение об ошибке:

Data Studio cannot connect to your data set.

Failed to fetch data from the underlying data set

Я прочитал комментарий, решающий проблему:

DECLARE statement don't work in DataStudio, 
because the whole custom query is wrapped in an outer select 
so this syntax becomes invalid SELECT ........ FROM (DECLARE usd_to_eur_rate ..............................)

Тем не менее, я не нашел обходного пути...

Ребята, у вас есть идея альтернативного синтаксиса, который мог бы работать в пользовательском запросе студии данных?

Спасибо

Источник

Ответы (2)

avatar
JCDB
2 июля 2021 в 10:40
4

@Pentium10, спасибо за точность.

Я опубликую здесь ответ о том, как я использовал этот совет, чтобы, наконец, заставить работать запрос в студии данных:

Вместо

DECLARE usd_to_eur_rate FLOAT64;
SET usd_to_eur_rate = 0.8;   

SELECT itemPrice_USD * usd_to_eur_rate AS itemPrice_EUR
FROM `dataset.table`

Я использовал :

WITH vars AS
(
    SELECT 0.8 AS usd_to_eur_rate 
)

SELECT itemPrice_USD * (SELECT usd_to_eur_rate FROM vars) AS itemPrice_EUR
FROM `dataset.table`
avatar
Pentium10
1 июля 2021 в 18:43
3

Обходной путь — создать таблицу для хранения этого значения и выбрать значение из таблицы.

Как я уже писал в другой ветке, все запросы DataStudio должны быть включены во внешний оператор выбора.