全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2365 6
2014-03-19
求助高手!!


公司要研究我们举行的推广活动中,获得新增客户最多的前50个活动的客户消费额度总数,还有一些客户行为研究。

所以如何实现在sas中值保留获得客户最多的前50的推广活动呢?想了一个下午都想不出来 T.T

非常非常感谢!!!

二维码

扫码加我 拉你入群

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

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

全部回复
2014-3-19 17:23:43
同问。这个问题一直纠结。。。
二维码

扫码加我 拉你入群

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

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

2014-3-19 20:41:26
请给出具体数据
二维码

扫码加我 拉你入群

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

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

2014-3-20 09:06:09
mingfeng07 发表于 2014-3-19 20:41
请给出具体数据
抱歉啊,新手,不知道发文需要给出具体的数字
二维码

扫码加我 拉你入群

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

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

2014-3-20 09:08:57
已经解决了。分享给大家

先进行频数分析,生成另一个文件。再将前50的创建新文件。最后用select in来创建子文件集。

proc sql noprint;
        create table result_1 as select
         PROJECT_NAME,count(*) as number
         from comb
         group by  PROJECT_NAME;
quit;

rsubmit;
proc sort data=result_1;
        by descending number;
run;

data result;
        set result_1;
        if _n_<=50;
proc sql noprint;
        create table rank50 as select
        *
        from comb
        where PROJECT_NAME in (select PROJECT_NAME from result);
quit;
二维码

扫码加我 拉你入群

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

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

2014-3-20 09:42:49
A simple freq weighted by expenditure amount will do it.

data t1;
   do i=1 to 50000;
      id=ceil(ranuni(123)*100);
          expenditure_amt=round(RAND('CHISQUARE', 1),0.01) ;
          output;
        end;
run;

proc freq data=t1 order=freq;
table id;
weight expenditure_amt;
run;
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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