我试图通过从bigquery获取数据到data studio来为我的组织创建一个GCP计费报表。我对sql编程很陌生,我已经使用了下面的查询来在data studio中可视化数据。
SELECT
project.name AS project,
EXTRACT(MONTH FROM usage_start_time) AS month,
ROUND(SUM(cost), 2) AS costs,
ROUND(SUM((SELECT SUM(amount) FROM UNNEST(credits))), 2) AS credits
FROM `bqutil.billing.billing_dashboard_export`
GROUP BY project, month
ORDER by project, month
现在,我想添加自定义日期范围,以便浏览者可以使用它来获得所需的报告。但是,DS中提供的默认自定义范围不能使用。我来自系统管理背景,对bigquery和sql都很陌生。任何帮助与查询将被感激。
谢谢你的帮助
我已经进行了一些测试,我发现了原因,你不能按日期过滤你的数据。
由于你使用的数据集是公开的,我能够使用它来执行你的目标。我将描述我的步骤来实现它。
表1:
数据源: BigQuery
日期范围维度:月 - 请不要忘记这一项
尺寸。 项目、信贷和月份
衡量标准。 SUM(费用)
第1种。 月份
第2种。 费用
还有一张表。
表2:热图
数据源。BigQuery
日期范围维度:月 - 请不要忘记这一项
尺寸。 项目
衡量标准。 COUNT(项目)、AVG(成本)、MIN(成本)、MAX(成本)
第一类。 费用
我发现,在以下情况下,日期过滤器不起作用。日期范围维度 并没有被设置为你想要通过日期过滤的表的数据字段。
此外,我还用下面的查询来测试日期范围过滤。下面是查询的内容。
SELECT
project.name AS project,
cast(FORMAT_TIMESTAMP("%Y-%m-%d" , usage_start_time) as date) AS start_date,
ROUND(SUM(cost), 2) AS costs,
ROUND(SUM((SELECT SUM(amount) FROM UNNEST(credits))), 2) AS credits
FROM `bqutil.billing.billing_dashboard_export`
GROUP BY project, start_date
ORDER by project, start_date
请注意,我只是改变了 月 场到 开始日期 作为YYYMMDD。