我有一个表,每天为每个唯一用户记录一行,并在当天为该用户提供一些汇总统计信息,我需要生成一份报告,告诉我每天,没有 . 包括当天在内的过去30天内的唯一身份用户
例如 .
-
为8月31日,它将统计8月2日至8月31日的独特用户
-
8月30日,它将统计8月1日至8月30日的独特用户
-
等等......
我已经查看了一些相关的问题,但它们并不是我所需要的 - 如果用户在过去30天内多天登录,他应该只计算一次,所以我不能只计算DAU的数量过去30天 .
Bigquery SQL for sliding window aggregate
BigQuery SQL for 28-day sliding window aggregate (without writing 28 lines of SQL)
到目前为止,我的想法是:
-
编写一个简单的脚本,该脚本将在每个相关日期执行单独的BigQuery
-
编写一个BigQuery UDF,它将为从另一个查询中选择的每一天执行基本相同的查询
但是我没有找到关于如何在UDF中执行另一个BigQuery查询的任何示例,或者它是否可能 .
1 回答
下面应该这样做
假设YourTable具有userID和dt字段(例如下面的内容)
你可以控制:
2016-08-08
和2016-09-08
BETWEEN 0 AND 29
中更改29
的聚合大小