我要实现的是为每个客户生成大小相等的时间序列。有些日子他可能有一些活动,因此有一些保留价值指标,在其他日期他可能没有因此为 0。
CustRetention 表如下:
cust_id, date, intensity
...
1,2018-02-02,4
1,2018-02-06,5
...
2,2018-05-05,7
3,2018-02-06,4
为每个 cust_id 生成相等时间序列(比如 240 天)的 sql 是什么?我尝试了以下,但没有用
drop table if exists retention_weekly_intensity_balanced;
create table retention_weekly_intensity_balanced as
select
coalesce(t.cust_id, 'unidentified') as cust,
d.date_actual,
coalesce(t.size_of_increased_intensity) as size_of_increased_intensity
from retention_weekly_intensity t
left join d_date d
ON
d.date_actual = t.plaindate
WHERE d.date_actual>='2018-01-01'
AND d.date_actual <= '2018-09-01'
;
d_date是一个简单的日历表