有没有办法在数据工作室自定义查询中声明变量?

JCD*_*CDB 5 google-bigquery looker-studio

我遇到了与此处描述的问题类似的问题: Pruning BigQuery Partitions with 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`
Run Code Online (Sandbox Code Playgroud)

查询可以在 BigQuery 中运行,但不能在 Data Studio 中运行。

正如在上面提到的主题中一样,我收到错误消息:

Data Studio cannot connect to your data set.

Failed to fetch data from the underlying data set
Run Code Online (Sandbox Code Playgroud)

我已阅读解决该问题的评论:

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 ..............................)
Run Code Online (Sandbox Code Playgroud)

尽管如此,我还没有找到解决方法......

你们知道可以用于数据工作室自定义查询的替代语法吗?

谢谢

JCD*_*CDB 5

@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`
Run Code Online (Sandbox Code Playgroud)

我一直在使用:

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`
Run Code Online (Sandbox Code Playgroud)


Pen*_*m10 3

解决方法是创建一个表来保存该值,然后从表中选择该值。

正如我在另一个线程上写的,所有 DataStudio 查询都可以包装在外部 select 语句中。