Google bigquery BigQuery DataStudio自定义查询

Google bigquery BigQuery DataStudio自定义查询,google-bigquery,google-data-studio,Google Bigquery,Google Data Studio,我正在尝试将BigQuery中的自定义查询与DataStudio连接起来。我已经在这里阅读了指南:但我还有几个问题 我的查询应该提取最近7天的漏斗流数据,所以在DataStudio中使用自定义查询时,如果可能,我如何以BQ将提取数据的方式写入 如果没有,我如何修改我的查询,使DataStudio根据我在DataStudio中定义的日期范围从BigQuery中提取数据?我将在DataStudio中添加日期范围选择器 下面是我获取目标漏斗数据的查询示例 SELECT s0.fullVisitor

我正在尝试将BigQuery中的自定义查询与DataStudio连接起来。我已经在这里阅读了指南:但我还有几个问题

我的查询应该提取最近7天的漏斗流数据,所以在DataStudio中使用自定义查询时,如果可能,我如何以BQ将提取数据的方式写入

如果没有,我如何修改我的查询,使DataStudio根据我在DataStudio中定义的日期范围从BigQuery中提取数据?我将在DataStudio中添加日期范围选择器

下面是我获取目标漏斗数据的查询示例

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

游戏已经很晚了,但这里有一个回应供其他任何人回顾:

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

我相信你的问题与Google Data Studio有关,而不是BigQuery查询。我发现,在使用DataStudio时,最好保持查询相当简单,然后在DataStudio中筛选更复杂的操作,因为它使您的图形具有更多的可定制性。考虑到上述情况,假设你没有 ginormous数据集,您的查询可能如下所示:

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

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

您的意思是使用以前未在查询中定义的日期范围从BigQuery检索数据?例如,当您的查询仅处理最后7天时,使用上个月的日期范围?Hi@Will澄清我希望它能够在DataStudio中提取任何日期范围的数据,而无需一直编辑查询中的日期范围选择器。但不确定是否可以这样做。请参阅BigQuery参数化查询:更进一步,我要说的是,将此查询设置为BQ数据集中的视图,然后连接到该视图,而不是在DS中使用自定义查询。