全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1391 4
2015-02-06
原始数据如下:
月份 开始时间 结束日期 总人数 状态1 购买人数
12月 2014/10/11 2014/11/10 1000 A 500
12月 2014/10/11 2014/11/10 1000 B 500
12月 2014/10/11 2014/11/10 1000 C 500
1月 2014/11/10 2014/12/10 800 A 300
1月 2014/11/10 2014/12/10 800 C 300
2月 2014/12/11 2015/1/10 1000 A 500
2月 2015/1/11 2015/2/10 1000 B 500
2月 2015/1/11 2015/2/10 1000 C 500

问题描述:
每月状态1应该有A\B\C三个值,如果发现哪个月少了“状态1=B”的情况,则在当月数据中插入一条记录(插入的记录购买人数=0,其他的与当月其他记录一致),期望结果如下,求大神指教:
月份 开始时间 结束日期 总人数 状态1 购买人数
12月 2014/10/11 2014/11/10 1000 A 500
12月 2014/10/11 2014/11/10 1000 B 500
12月 2014/10/11 2014/11/10 1000 C 500
1月 2014/11/10 2014/12/10 800 A 300
1月 2014/11/10 2014/12/10 800 B 0
1月 2014/11/10 2014/12/10 800 C 300
2月 2014/12/11 2015/1/10 1000 A 500
2月 2015/1/11 2015/2/10 1000 B 500
2月 2015/1/11 2015/2/10 1000 C 500

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2015-2-6 19:35:53
补充下,插入的记录,状态1=B
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-2-6 21:42:41
复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-2-9 09:51:03
sushe1527 发表于 2015-2-6 21:42
有一点点小问题,当C="B"的时候d=0
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-2-9 13:21:30
sushe1527 发表于 2015-2-6 21:42
改一下
proc sort data=a out=b nodupkey;
by a c;
run;

data c;
set b;
if lag(c)="A" and c^="B" then do;
c="B"; d=0; output;
end;
output;
run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群