【发布时间】:2020-06-16 16:43:34
【问题描述】:
我创建了这个查询:
SELECT
(SELECT value from UNNEST(project.labels) where key = "project") as project,
ROUND(SUM(cost), 2) as cost
FROM cloud.dataset.billing_export
group by ar
它返回给我类似的东西:
Row | project | cost
1 | PJ1 | 23
2 | PJ2 | 50
有没有办法为每个值(每个项目)创建一个视图? 我正在尝试使用 UDF,每个视图都必须有一个基于项目的名称(例如:view_PJ1)并且得到类似的名称(但有很多错误):
LOOP
SET vars = (SELECT (SELECT value FROM UNNEST(project.labels) WHERE key = "project") AS project
FROM FROM cloud.dataset.billing_export
GROUP BY project);
IF vars=null THEN
LEAVE;
END IF;
CREATE OR REPLACE VIEW `cloud`.`dataset`.AR
AS
SELECT DISTINCT
(SELECT value from UNNEST(project.labels) where key = "project") as project,
ROUND(SUM(cost), 2) as cost
FROM cloud.dataset.billing_export
WHERE project=vars
GROUP BY project;
END LOOP;
提前致谢
【问题讨论】:
-
我猜您可以在 BigQuery 之外编写脚本 - 但为什么呢?
-
那是我的 B 计划。仍在尝试解决 BigQuery 平台内部的问题,以将所有内容保存在一个地方。为什么?我想为每个项目生成一个视图。
标签: google-bigquery user-defined-functions gcloud