全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4949 4
2017-06-06
比如下面这组数据:ID为顾客编号,date为顾客来购物的时间,我现在想知道每个顾客来购物了几天。
就是要按ID分组,统计date下非重复值的个数。
有什么简单的办法能统计出来吗?
LZ做的很麻烦,要4个proc步...
附件列表
1111.jpg

原图尺寸 145.5 KB

1111.jpg

二维码

扫码加我 拉你入群

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

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

全部回复
2017-6-6 22:42:00
yaoyinuo888 发表于 2017-6-6 22:05
比如下面这组数据:ID为顾客编号,date为顾客来购物的时间,我现在想知道每个顾客来购物了几天。
就是要按 ...
Proc sort data=yourdata;
   by id date;
run;
data result;
  by id date;
  if first.date then output;
run;
二维码

扫码加我 拉你入群

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

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

2017-6-6 23:10:27
你要的是“消费的天数”还是“消费的次数”?因为有个id同一天消费了不止一次,但是金额是相同的。如果是天数就是下面一个proc解决。

proc sql;
select id, count(distinct date) as num_date from yourdata
group by id;
quit;
二维码

扫码加我 拉你入群

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

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

2017-6-7 23:07:05
popodan 发表于 2017-6-6 23:10
你要的是“消费的天数”还是“消费的次数”?因为有个id同一天消费了不止一次,但是金额是相同的。如果是天 ...
要的是天数,原来count函数里面还能加distinct选项啊,学到了,谢谢。
另外二楼那个代码我用sas9.4跑不出来,下面是日志。
12    data result;
13   by id date;
ERROR: 没有 SET、MERGE、UPDATE 或 MODIFY 语句。
14   if first.date then output;
15   run;
二维码

扫码加我 拉你入群

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

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

2017-6-7 23:13:23
yaoyinuo888 发表于 2017-6-7 23:07
要的是天数,原来count函数里面还能加distinct选项啊,学到了,谢谢。
另外二楼那个代码我用sas9.4跑不出 ...
真的好想把上面的回复删掉啊,问的问题好傻,我弄明白了,谢谢
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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