我需要按月归一化数据。如何用SAS代码创建它? 我计算了日期差,并计划将值除以日期并乘以一个月的天数。但是,有些值不是每月收集的。例如,从Jul到Sep。因此,我需要将间隔值除以并输出Jul Aug Sep Sep行。
归一化的公式应为=值/日期差*(每月的天数)。请注意,某些收集日期位于月份的中间,因此需要从这两个月的比例中计算出标准化数据。
示例: 给定的日期2018年6月10日-2018年7月1日 对于日期01JUN2018 归一化值应为 总和(从2018年6月1日至2018年6月9日获得的值,从2018年6月10日至30年6月30日获得的值)
我已经计算了日期差,但是我不确定如何创建尚不存在的其他行以及规范化的值。
data work.test(drop=lag);
set work.assignment;
by group;
format date date9.;
date=intnx('month',collection_date,0,"BEGINNING");
lag=lag(collection_date);
if first.group then difference=0;
else difference=collection_date-lag;
run;
数据看起来像这样
Group Collection_date Value
1 01Jul2018 0
1 29Sep2018 3
1 30Oct2018 3.5
2 20Jan2018 0
2 21Feb2018 4
2 21Mar2018 3.5
预期数据如下
Group Collection_date Value Date Normalized Value
1 01Jul2018 0 01Jul2018
1 01Aug2018
1 29Sep2018 3 01Sep2018
1 30Oct2018 3.5 01Oct2018
2 20Jan2018 1 01Jan2018
2 21Feb2018 4 01Feb2018
2 21Mar2018 3 01Mar2018