google-bigquery - 使用 Data Studio 修剪 BigQuery 分区

标签 google-bigquery google-data-studio

我对这个问题有一个几乎相同的场景:
How to choose the latest partition in BigQuery table?
带有一个额外的复杂功能。我需要在数据洞察中显示结果。
设置
我有一系列以不同时间间隔出现的数据集,我需要获取最新的分区。因为它们的时间段不一致,所以我不能只得到最后一天并使用它。
我可以使用 BigQuery 脚本通过动态查询成功修剪查询,但是当我将此查询移动到数据洞察时,查询无法正确加载。
该表在数据源部分加载:
enter image description here
但是当我真正尝试在报告中使用它时:

Data Studio cannot connect to your data set.

Failed to fetch data from the underlying data set

Error ID: e6546a97

有没有办法让 Data Studio 通过修剪正确显示它?
示例查询
DECLARE max_date DATE;
SET max_date = (SELECT DATE(MAX(_partitiontime)) FROM `dataset.table`);   

SELECT *
FROM `dataset.table`
WHERE DATE(_partitiontime ) = max_date

最佳答案

解决方法:
一种可能性是使用日期参数并进行如下查询:

SELECT *
FROM `dataset.table`
WHERE DATE(_PARTITION_TIME)>= PARSE_DATE("%Y%m%d", @DS_START_DATE)
这并不是确切的答案,但由于日期范围默认为“昨天到今天”数据,您可以有效地将表修剪为仅最近的分区。如果您提到的数据不规则,用户仍然可以手动扩展日期范围,直到找到数据。
同时,您还可以将以下自定义查询添加到您的数据源:
SELECT 
    MAX(SAFE.PARSE_DATE('%Y%m%d',partition_id)) AS latest_available_partition
FROM `dataset.INFORMATION_SCHEMA.PARTITIONS`
WHERE TABLE_NAME = "table"
并将其显示在表格中以向用户提供信息。
事实上,这种变通方法意味着您相信您的最终用户不会过多地使用日期范围。

关于google-bigquery - 使用 Data Studio 修剪 BigQuery 分区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67697079/

相关文章:

java - Google BigQuery "bq"工具提取嵌套/重复的记录,如何使用 Java 的 API?

python - 从 Pub/Sub 流式传输到 BigQuery

mysql - 使用 MySQL 作为数据源时 Google Data Studio 出错

google-analytics - 是否可以一次将数据层变量添加到所有事件?

sql - Google Bigquery SQL - 按日期获取最新的唯一值

android - 来自 BigQuery 的 Data Studio 中的 Firebase 日内事件

python - 将 BigQuery 数据传输到 amazon s3 存储桶

google-bigquery - BigQuery 将数组拆分为单独的行

google-data-studio - Google Data Studio 用于 Multi-Tenancy SaaS 应用程序的可行性

google-analytics - 谷歌分析和数据洞察 : How to show a time series of Year over Year percentage growth