我正在尝试在 BigQuery 中执行类似的操作
COUNT(DISTINCT user_id) OVER (PARTITION BY DATE_TRUNC(date, month), sample, app_id ORDER BY DATE RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) as ACTIVE_USERS
换句话说,我有一个包含日期、用户 ID、样本和应用程序 ID 的表。我需要计算从月初到当天结束的每一天的累计唯一活跃用户数。
该函数可以正常工作,没有明显的差异,但是,这给了我用户总数,但这不是我需要的。
使用dense_rank尝试了一些技巧,但它在这里不起作用。
有没有什么方法可以使用窗口函数计算不同用户的数量?
-------------更新---------------- 这是完整的查询,这样你就可以更好地理解我需要什么
with mtd1 as (select
'MonthToDate' as TIMELINE
,fd.date DATE
,td.SAMPLE as SAMPLE
,td.APPNAME as APP_ID
,sum(fd.revenue) as REVENUE
,td.user_id ACTIVE_USERS
from DWH.DailyUser fd
join DWH.Depositors td using (userid)
group by 1,2,3,4,6
),
mtd as (
select TIMELINE
,DATE
,SAMPLE
,APP_ID
,sum(revenue) over (partition by date_trunc(date, month), sample, …Run Code Online (Sandbox Code Playgroud)