滚动加权平均指标的可视化

来源:这里教程网 时间:2026-03-02 12:08:22 作者:

最近工作中碰到一个需求,最终目标是一个类似于留存率的指标的可视化。可视化工具用的是Tableau. 要为Tableau生成一个数据集。 这个留存率本来很简单,就是 月初用户数/月末用户数(不包括本月新增用户)。但是算年度加权滚动时是将过往十二个月的指标相乘。也就是 1月初用户数/1月末用户数 × 2 月初用户数/2月末用户数 .... × 12 月初用户数/12月末用户数 其中月末用户数都不包括当月新增用户 而且需求是将 年度加权滚动的留存率的月趋势显示出来。所以举例来说,我一张图上显示从2020年1月到12月的 年度加权滚动留存率,那么第一个数据点需要2019年2月的月初、月末用户数比一直乘到2020年1月,第二个数据点(2020年2月)同样要12个比率相乘。同时呢,表盘需要让用户可以选择不同的维度,比如各分销渠道来看,或者按照男女用户来看。 以下是临时生成的伪表(是summarize后的表,所以只有不同维度,非明细表),展示一下数据样式

create table GlobalGymNetworkNoCustomerSnapshots (
    SOM date,
	Country char(2),
    Gender char(1),
    area char(4),
    DistChannel varchar(8),
	Product varchar(8),
	SalesDirector varchar(16),
	NCustomersSOM int,
	NCustomersEOM int,
	RemainingNCustomerEOM int,
	NewCustomers int
);  
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-04-01', 'US', 'M', 'Soth','indirect', 'Iron', 'Max', 10030, 13317, 8376, 4941);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-04-01', 'UK', 'F', 'West','online', 'Silver', 'Alex', 13317, 17844, 11485, 6359);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-01-01', 'VN', 'F', 'West','tele', 'Boxing', 'Scott', 17844, 12378, 10024, 2354);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-05-01', 'KR', 'F', 'West','tele', 'Boxing', 'Alex', 12378, 12143, 9883, 2260);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-01-01', 'KR', 'M', 'Nrth','online', 'Iron', 'Alex', 12143, 11605, 10077, 1528);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-04-01', 'CN', 'F', 'Nrth','tele', 'Gold', 'James', 11605, 19222, 11287, 7935);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-06-01', 'VN', 'M', 'Soth','referral', 'Silver', 'Kathy', 19222, 10202, 9719, 483);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-04-01', 'KR', 'O', 'Nrth','referral', 'Iron', 'Tracy', 10202, 15946, 9904, 6042);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-06-01', 'UK', 'M', 'Nrth','tele', 'Bronze', 'James', 15946, 16362, 15264, 1098);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-01-01', 'UK', 'O', 'Nrth','online', 'MuayThai', 'Kathy', 16362, 11045, 9044, 2001);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-01-01', 'UK', 'M', 'Nrth','online', 'Iron', 'Kathy', 11045, 13293, 8868, 4425);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-02-01', 'US', 'F', 'East','indirect', 'Bronze', 'Alex', 13293, 15878, 12211, 3667);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-05-01', 'US', 'M', 'Nrth','referral', 'MuayThai', 'James', 15878, 16981, 15173, 1808);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-01-01', 'UK', 'O', 'Nrth','referral', 'Silver', 'Max', 16981, 11557, 10247, 1310);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-02-01', 'FR', 'F', 'Nrth','indirect', 'Boxing', 'Fiona', 11557, 12783, 9914, 2869);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-05-01', 'KR', 'M', 'East','online', 'Pilates', 'Scott', 12783, 14081, 11929, 2152);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-02-01', 'KR', 'M', 'Nrth','referral', 'Iron', 'Tracy', 14081, 19929, 13040, 6889);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-03-01', 'UK', 'O', 'Nrth','referral', 'Gold', 'James', 19929, 17164, 16582, 582);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-03-01', 'FR', 'M', 'Soth','agent', 'Gold', 'James', 17164, 13482, 13177, 305);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-01-01', 'FR', 'M', 'East','agent', 'Yoga', 'Scott', 13482, 10432, 9356, 1076);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-01-01', 'US', 'F', 'Soth','online', 'MuayThai', 'Tracy', 10432, 19711, 8817, 10894);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-04-01', 'FR', 'F', 'East','indirect', 'Gold', 'Scott', 19711, 13420, 13002, 418);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-05-01', 'KR', 'M', 'Soth','tele', 'Pilates', 'Fiona', 13420, 19544, 13095, 6449);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-06-01', 'VN', 'M', 'West','tele', 'Iron', 'Tracy', 19544, 18531, 17642, 889);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-05-01', 'KR', 'O', 'East','tele', 'Boxing', 'Max', 18531, 19991, 16567, 3424);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-04-01', 'US', 'M', 'East','online', 'Silver', 'Scott', 19991, 15959, 15227, 732);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-05-01', 'KR', 'F', 'Nrth','online', 'MuayThai', 'Kathy', 15959, 19438, 13881, 5557);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-01-01', 'CN', 'F', 'East','indirect', 'MuayThai', 'Scott', 19438, 13227, 11251, 1976);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-03-01', 'US', 'F', 'East','agent', 'MuayThai', 'Fiona', 13227, 19803, 12668, 7135);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-05-01', 'FR', 'O', 'West','indirect', 'Iron', 'Fiona', 19803, 19329, 16872, 2457);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-05-01', 'VN', 'M', 'East','online', 'Bronze', 'Tracy', 19329, 16682, 14239, 2443);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-06-01', 'US', 'M', 'Soth','agent', 'Iron', 'Max', 16682, 13896, 11813, 2083);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-04-01', 'CN', 'M', 'East','tele', 'Bronze', 'Tracy', 13896, 11787, 11243, 544);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-06-01', 'FR', 'F', 'West','referral', 'Yoga', 'Fiona', 11787, 17252, 9799, 7453);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-03-01', 'VN', 'M', 'West','online', 'Silver', 'Fiona', 17252, 17188, 15488, 1700);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-01-01', 'VN', 'F', 'Nrth','tele', 'Iron', 'James', 17188, 12551, 12385, 166);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-06-01', 'JP', 'O', 'Soth','tele', 'MuayThai', 'Alex', 12551, 11137, 9644, 1493);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-04-01', 'KR', 'O', 'Nrth','online', 'MuayThai', 'Tracy', 11137, 19899, 10368, 9531);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-03-01', 'KR', 'M', 'West','referral', 'Bronze', 'Fiona', 19899, 15897, 15814, 83);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-04-01', 'KR', 'O', 'East','online', 'Yoga', 'Scott', 15897, 11901, 11392, 509);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-03-01', 'VN', 'M', 'Soth','tele', 'Yoga', 'Scott', 11901, 14243, 11772, 2471);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-06-01', 'UK', 'O', 'West','agent', 'Gold', 'Fiona', 14243, 10169, 8738, 1431);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-01-01', 'US', 'F', 'East','agent', 'Iron', 'Alex', 10169, 10828, 8635, 2193);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-05-01', 'FR', 'F', 'Soth','agent', 'Gold', 'Alex', 10828, 13824, 8962, 4862);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-01-01', 'JP', 'F', 'East','tele', 'Pilates', 'Fiona', 13824, 16232, 12221, 4011);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-05-01', 'KR', 'F', 'Soth','indirect', 'Yoga', 'Tracy', 16232, 10058, 9394, 664);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-02-01', 'VN', 'M', 'East','agent', 'Boxing', 'James', 10058, 11977, 8613, 3364);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-06-01', 'CN', 'O', 'Soth','tele', 'MuayThai', 'Fiona', 11977, 10739, 9873, 866);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-06-01', 'VN', 'O', 'Soth','tele', 'Bronze', 'Max', 10739, 16562, 9080, 7482);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-05-01', 'JP', 'M', 'East','online', 'Bronze', 'Kathy', 16562, 16517, 14382, 2135);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-06-01', 'JP', 'F', 'East','indirect', 'Yoga', 'Fiona', 16517, 18780, 15942, 2838);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-01-01', 'CN', 'M', 'West','online', 'Gold', 'Fiona', 18780, 10947, 10646, 301);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-05-01', 'CN', 'O', 'West','referral', 'Iron', 'Tracy', 10947, 18286, 9030, 9256);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-03-01', 'JP', 'M', 'Nrth','referral', 'MuayThai', 'Alex', 18286, 15059, 13407, 1652);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-03-01', 'VN', 'O', 'East','online', 'Iron', 'James', 15059, 18405, 12691, 5714);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-05-01', 'JP', 'F', 'East','online', 'MuayThai', 'Kathy', 18405, 19624, 17576, 2048);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-04-01', 'CN', 'O', 'West','agent', 'Gold', 'James', 19624, 19513, 16297, 3216);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-03-01', 'UK', 'O', 'Soth','tele', 'Iron', 'Fiona', 19513, 16047, 13516, 2531);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-04-01', 'JP', 'O', 'Nrth','agent', 'MuayThai', 'Kathy', 16047, 16464, 12898, 3566);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-04-01', 'CN', 'F', 'East','referral', 'Iron', 'Tracy', 16464, 17127, 14698, 2429);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-02-01', 'FR', 'O', 'Nrth','indirect', 'Iron', 'Tracy', 17127, 10995, 9328, 1667);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-01-01', 'UK', 'O', 'West','agent', 'Pilates', 'Kathy', 10995, 19149, 9359, 9790);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-02-01', 'VN', 'O', 'Soth','agent', 'Iron', 'Tracy', 19149, 14839, 13411, 1428);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-01-01', 'JP', 'M', 'East','tele', 'Pilates', 'Fiona', 14839, 11851, 10508, 1343);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-02-01', 'CN', 'F', 'West','referral', 'Gold', 'Kathy', 11851, 11859, 11402, 457);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-01-01', 'US', 'F', 'Nrth','agent', 'Bronze', 'Alex', 11859, 10213, 9679, 534);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-02-01', 'UK', 'M', 'Nrth','indirect', 'Yoga', 'Max', 10213, 10412, 8208, 2204);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-06-01', 'KR', 'F', 'West','agent', 'MuayThai', 'Alex', 10412, 10691, 8755, 1936);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-06-01', 'JP', 'O', 'West','agent', 'Boxing', 'Max', 10691, 19120, 9560, 9560);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-03-01', 'KR', 'M', 'Nrth','indirect', 'Pilates', 'Fiona', 19120, 18140, 17326, 814);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-03-01', 'UK', 'M', 'Soth','online', 'Bronze', 'Kathy', 18140, 20000, 14596, 5404);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-06-01', 'VN', 'F', 'East','indirect', 'MuayThai', 'James', 20000, 13218, 11078, 2140);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-06-01', 'FR', 'F', 'Soth','indirect', 'Boxing', 'Max', 13218, 17529, 10975, 6554);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-04-01', 'US', 'M', 'West','agent', 'Silver', 'Scott', 17529, 19435, 17119, 2316);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-04-01', 'FR', 'O', 'West','indirect', 'Gold', 'Scott', 19435, 12844, 12646, 198);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-04-01', 'FR', 'M', 'Nrth','online', 'Bronze', 'Scott', 12844, 18955, 12104, 6851);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-05-01', 'JP', 'M', 'Nrth','agent', 'Boxing', 'Tracy', 18955, 11869, 11541, 328);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-04-01', 'JP', 'M', 'Soth','online', 'Iron', 'Kathy', 11869, 16173, 10633, 5540);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-01-01', 'FR', 'O', 'East','online', 'Iron', 'Fiona', 16173, 11001, 8907, 2094);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-02-01', 'UK', 'M', 'West','online', 'Yoga', 'James', 11001, 17529, 10897, 6632);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-05-01', 'JP', 'M', 'East','indirect', 'Iron', 'James', 17529, 16596, 14460, 2136);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-02-01', 'CN', 'O', 'Soth','tele', 'Boxing', 'Max', 16596, 11893, 10670, 1223);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-05-01', 'JP', 'F', 'Nrth','online', 'Boxing', 'Scott', 11893, 14115, 11503, 2612);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-01-01', 'VN', 'O', 'Nrth','referral', 'Pilates', 'Max', 14115, 18066, 12621, 5445);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-03-01', 'UK', 'F', 'West','online', 'Pilates', 'Fiona', 18066, 14961, 13412, 1549);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-04-01', 'US', 'F', 'East','agent', 'Iron', 'Kathy', 14961, 12660, 10912, 1748);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-03-01', 'JP', 'O', 'West','indirect', 'Boxing', 'Fiona', 12660, 14380, 11690, 2690);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-05-01', 'FR', 'O', 'Soth','tele', 'Gold', 'Fiona', 14380, 17062, 13301, 3761);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-02-01', 'KR', 'M', 'Soth','indirect', 'Gold', 'Scott', 17062, 17211, 14663, 2548);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-01-01', 'KR', 'M', 'East','online', 'Silver', 'Scott', 17211, 15164, 14599, 565);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-01-01', 'CN', 'M', 'Soth','tele', 'Yoga', 'Fiona', 15164, 19510, 14486, 5024);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-01-01', 'UK', 'M', 'Nrth','tele', 'MuayThai', 'Kathy', 19510, 13832, 13433, 399);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-06-01', 'UK', 'M', 'Soth','online', 'Gold', 'Kathy', 13832, 14967, 11912, 3055);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-03-01', 'VN', 'O', 'Soth','referral', 'Yoga', 'Kathy', 14967, 12732, 11238, 1494);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-03-01', 'UK', 'O', 'Soth','tele', 'Pilates', 'Max', 12732, 16630, 11075, 5555);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-03-01', 'FR', 'F', 'Nrth','tele', 'Iron', 'Alex', 16630, 18382, 14522, 3860);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-04-01', 'VN', 'M', 'Soth','referral', 'Bronze', 'Alex', 18382, 14892, 14616, 276);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-02-01', 'UK', 'O', 'Nrth','agent', 'Boxing', 'Fiona', 14892, 19509, 14793, 4716);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-05-01', 'CN', 'M', 'Soth','online', 'Pilates', 'James', 19509, 10223, 9229, 994);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-03-01', 'JP', 'M', 'Nrth','tele', 'Silver', 'James', 10223, 13473, 8620, 4853);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-05-01', 'FR', 'F', 'West','referral', 'MuayThai', 'Alex', 13473, 14592, 12941, 1651);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-02-01', 'CN', 'F', 'East','agent', 'MuayThai', 'Tracy', 14592, 17754, 13256, 4498);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-06-01', 'VN', 'F', 'West','referral', 'Silver', 'Alex', 17754, 12234, 11595, 639);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-02-01', 'UK', 'O', 'East','agent', 'MuayThai', 'Fiona', 12234, 10567, 9428, 1139);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-05-01', 'VN', 'F', 'Nrth','agent', 'Pilates', 'Max', 10567, 10586, 10050, 536);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-03-01', 'UK', 'F', 'West','agent', 'Silver', 'Alex', 10586, 10261, 10204, 57);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-04-01', 'US', 'M', 'Nrth','agent', 'Yoga', 'Scott', 10261, 12184, 8772, 3412);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-02-01', 'US', 'O', 'Soth','tele', 'Iron', 'Max', 12184, 17339, 12129, 5210);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-02-01', 'CN', 'O', 'East','referral', 'Boxing', 'Alex', 17339, 16056, 15952, 104);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-02-01', 'JP', 'F', 'Nrth','indirect', 'Yoga', 'Tracy', 16056, 14337, 13303, 1034);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-06-01', 'VN', 'O', 'Nrth','referral', 'Yoga', 'Fiona', 14337, 11949, 10330, 1619);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-03-01', 'VN', 'O', 'East','agent', 'Iron', 'Tracy', 11949, 18167, 11844, 6323);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-01-01', 'VN', 'M', 'Nrth','referral', 'Iron', 'Kathy', 18167, 11352, 9153, 2199);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-01-01', 'US', 'F', 'Soth','online', 'Gold', 'Max', 11352, 16856, 10073, 6783);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-03-01', 'VN', 'F', 'Nrth','referral', 'Pilates', 'Tracy', 16856, 15213, 12441, 2772);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-06-01', 'CN', 'O', 'West','indirect', 'Gold', 'Tracy', 15213, 10631, 10095, 536);
insert into GlobalGymNetworkNoCustomerSnapshots values('2016-02-01', 'KR', 'O', 'Nrth','referral', 'Bronze', 'Max', 10631, 18130, 10081, 8049);

所以 月初用户数对应的是NCustomersSOM字段,月末留存用户数对应RemainingNCustomerEOM。 目前我的处理方式是:

    给所有unique 维度(除SOM日期字段外)加一个ID

select distinct 
	CAST('2016-01-01' as date) as SOM
      ,[Country]
      ,[Gender]
      ,[Area]
      ,[DistChannel]
      ,[Product]
      ,[SalesDirector]
into [dbo].[GlobalGymNetworkNoCustomerUnikDmsn]
from [dbo].[GlobalGymNetworkNoCustomerSnapshots];
alter table [dbo].[GlobalGymNetworkNoCustomerUnikDmsn]
add ID int identity(1,1);

2. 把维度的ID附在数据表中

select 
B.*,
Dm.ID
into [dbo].[GlobalGymNetworkNoCustomerSnapshotswithDM]
from [dbo].[GlobalGymNetworkNoCustomerSnapshots] as B
inner join [dbo].[GlobalGymNetworkNoCustomerUnikDmsn] as Dm
on B.[Country] = Dm.[Country]
and B.[area] = Dm.[area]
and B.[DistChannel] = Dm.[DistChannel]
and B.[Gender] = Dm.[Gender]
and B.[Product] = Dm.[Product]
and B.[SalesDirector] = Dm.[SalesDirector]

3. 最后再通过join把过往月份的月初客户数、月末留存客户数贴到数据表中join时除了维度ID相等外,月份按过往排开,比如条目是2020-01 的数据,就关联2019-12,2019-11... 如果大家还能想到其他好方法欢迎提出,我改进一下。

相关推荐