google-bigquery - BigQuery Data Studio 自定义查询

标签 google-bigquery google-data-studio

我正在尝试将 BigQuery 中的自定义查询与 Data Studio 连接起来。我已经从这里阅读了指南:https://support.google.com/360suite/datastudio/answer/6370296?hl=en&ref_topic=6370347但我还有几个问题。

我的查询应该提取过去 7 天的漏斗流数据,因此在 Data Studio 中使用自定义查询时,如果可能的话,我如何以 BQ 提取数据的方式编写?

如果不是,我该如何修改我的查询,使 Data Studio 能够根据我在 Data Studio 中定义的日期范围从 BigQuery 中提取数据?我将在 Data Studio 中添加日期范围选择器。

下面是我获取目标 channel 数据的查询示例。

SELECT
  s0.fullVisitorId,
  s0.visitId,
  s0.firstHit,
  s1.firstHit
FROM (
SELECT
    fullVisitorId,
    visitId,
    MIN(hits.hitNumber) AS firstHit
    FROM
    (TABLE_DATE_RANGE([xxx.ga_sessions_],
                DATE_ADD(CURRENT_TIMESTAMP(), -7, 'DAY'),
                CURRENT_TIMESTAMP()))
    WHERE
    REGEXP_MATCH(hits.page.pagePath, '/pageA/')
    AND totals.visits = 1
    GROUP BY
    fullVisitorId,
    visitId) s0
LEFT OUTER JOIN EACH (
SELECT
    fullVisitorId,
    visitId,
    MIN(hits.hitNumber) AS firstHit
    FROM
    (TABLE_DATE_RANGE([xxx.ga_sessions_],
                DATE_ADD(CURRENT_TIMESTAMP(), -7, 'DAY'),
                CURRENT_TIMESTAMP()))
    WHERE
    REGEXP_MATCH(hits.page.pagePath, '/pageB/')
    AND totals.visits = 1
    GROUP BY
    fullVisitorId,
    visitId) s1
ON
    s0.fullVisitorID = s1.fullVisitorID
    AND s0.visitID = s1.visitID

最佳答案

游戏迟到了,但这里是对评论此内容的其他人的回应:

如果我正确理解您的问题,其要点是您希望能够在 Data Studio 中显示您的自定义查询的最后 x 天。如果这是个问题,那么简单的答案就是提供一个日期范围内的所有数据。即,查看全年的数据,然后让 Data Studio 使用此处描述的日期范围过滤方法将其过滤掉:

https://www.youtube.com/watch?v=Jafy-CB148k

我相信您的问题与 Google Data Studio 的关系比 BigQuery 查询更多。我发现在使用 Data Studio 时,最好让您的查询保持简单,然后在 Data Studio 中进行过滤以进行更复杂的操作,因为它使您的图表具有更多的可定制性。考虑到上述情况,假设您没有 巨大的数据集,您的查询可能看起来像这样:

SELECT
  s0.fullVisitorId,
  s0.visitId,
  s0.firstHit,
  s1.firstHit
FROM (
SELECT
    fullVisitorId,
    visitId,
    MIN(hits.hitNumber) AS firstHit
    FROM [xxx.ga_sessions_]
    WHERE
    REGEXP_MATCH(hits.page.pagePath, '/pageA/')
    AND totals.visits = 1
    GROUP BY
    fullVisitorId,
    visitId) s0
LEFT OUTER JOIN EACH (
SELECT
    fullVisitorId,
    visitId,
    MIN(hits.hitNumber) AS firstHit
    FROM [xxx.ga_sessions_]
    WHERE
    REGEXP_MATCH(hits.page.pagePath, '/pageB/')
    AND totals.visits = 1
    GROUP BY
    fullVisitorId,
    visitId) s1
ON
    s0.fullVisitorID = s1.fullVisitorID
    AND s0.visitID = s1.visitID

请注意,我删除了硬编码的日期范围,现在由 Data Studio 的日期过滤器来过滤您需要的数据。

关于google-bigquery - BigQuery Data Studio 自定义查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41114586/

相关文章:

google-data-studio - 按月和年聚合维度值

regex - 如何使用 Regex 替换 Google Data Studio 中日期字段中的方括号?

json - 将 JSON 有效负载压缩为 GZIP 以使用 Urlfetchapp 加载到 bigQuery 中? (Utilities.zip 不兼容 gzip)

go - 在Golang中阅读BigQuery。并未给出所有预期结果。该怎么办?

firebase - 如何将 firestore 子集合导出到 bigquery 表?

python - 有没有办法在 BigQuery 中对时间序列数据重新采样?

python - 如何运行 BigQuery 查询,然后将输出 CSV 发送到 Apache Airflow 中的 Google Cloud Storage?

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

google-data-studio - Google Data Studio : Day of Week Showing as Interger, 不是日期名称

jdbc - 如何将 Google Data Studio 连接到 AWS Athena?