楼主: jsntbocjj
752 5

[有偿编程] 如何整合app点击行为 [推广有奖]

  • 0关注
  • 0粉丝

高中生

30%

还不是VIP/贵宾

-

威望
0
论坛币
369 个
通用积分
0.0001
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
178 点
帖子
9
精华
0
在线时间
39 小时
注册时间
2018-7-28
最后登录
2022-10-21

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
目前有app的点击行为日志表,记录了客户编号、日期、点击时间、点击产品。
原始表
cust_notime_clickdata_Dateextra_data
12342022020109012220220201登录
12342022020109032020220201转账
27682022020110010220220201登录
27682022020110050320220201理财
12342022020113372020220201付款
37642022020207010220220202登录

想整合成产品点击路径。
加工成
日期客户号点击行为
202202011234登录,转账
202202011234付款
202202012768登录,理财
202202023764登录

其中,如果两次间隔时间如果超过10分钟,视为两组登录点击行为


二维码

扫码加我 拉你入群

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

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

关键词:App extra click Data time

表样.xlsx

10.13 KB

沙发
HXAI102230 在职认证  发表于 2022-2-24 09:49:50 |只看作者 |坛友微信交流群
  1. data orig;
  2. input cust_no $ time_click : $20. data_Date $ extra_data $;
  3.         date=input(substr(time_click,1,8),yymmdd8.);
  4.   hour=input(substr(time_click,9,2),2.);
  5.   minute=input(substr(time_click,11,2),2.);
  6.         second=input(substr(time_click,13,2),2.);
  7.         datetime=DHMS(date,hour,minute,second);
  8.         drop date hour minute second;
  9. cards;
  10. 1234        20220201090122        20220201        登录
  11. 1234        20220201090320        20220201        转账
  12. 2768        20220201100102        20220201        登录
  13. 2768        20220201100503        20220201        理财
  14. 1234        20220201133720        20220201        付款
  15. 3764        20220202070102        20220202        登录
  16. ;

  17. proc sort data=orig;
  18.   by cust_no datetime;
  19. run;

  20. data a;
  21.   length action $200;
  22.   set orig;
  23.   by cust_no datetime;
  24.         retain action;       
  25.         if first.cust_no then action=extra_data;
  26.         else do;
  27.   if dif(datetime)<=600 then action=catx(',',action,extra_data);
  28.         else action=extra_data;
  29.         end;
  30. run;

  31. proc sort data=a;
  32.   by cust_no descending datetime;
  33. run;

  34. data b;
  35.   length data_date cust_no $8 action $200 datetime 8;
  36.   set a;
  37.         by cust_no descending datetime;
  38.         difdt=dif(datetime);
  39.         if first.cust_no then dif=-601;
  40.         else dif=difdt;
  41.         if dif>-600 then delete;
  42.         keep data_date cust_no action datetime;
  43. run;

  44. proc sort data=b out=c;
  45.   by cust_no datetime;
  46. run;

  47.        
复制代码

使用道具

藤椅
乐天天12300 发表于 2022-2-24 11:17:53 |只看作者 |坛友微信交流群
proc sort data=test;
    by cust_no time_click;
run;

data test1;
    length extra_data_new $1000.;
    set test ;
    by cust_no time_click;
    array mytime hour min second;
    do i=1 to dim(mytime);
        mytime(i)=input(substr(time_click,9+2*(i-1),2),best12.);
    end;

    date=input(substr(time_click,1,8),yymmdd8.);
    datetime=dhms(date,hour,min,second);

    retain extra_data_new;
    datetime_new=lag(datetime);
   

    if first.cust_no then
        do;
            datetime_new=.;
            extra_data_new=extra_data;
        end;
    else if intck("minute",datetime_new,datetime)<=10 then
        do;
            extra_data_new=catx(",",extra_data_new,extra_data);
            delete=_n_-1;
        end;
    else
        extra_data_new=extra_data;
   
    keep extra_data_new data_date cust_no delete;
run;

proc sql noprint;
    select delete into :delete separated by "," from test1
        where ^missing(delete);
quit;

data final;
    set test1;
    if _n_  not in(&delete.);
    drop delete;
run;

使用道具

板凳
jsntbocjj 发表于 2022-2-24 22:23:13 |只看作者 |坛友微信交流群
乐天天12300 发表于 2022-2-24 11:17
proc sort data=test;
    by cust_no time_click;
run;
多谢大佬~话说这个帖子的有偿编码在哪里设置啊,没找到放论坛币的地方~

使用道具

报纸
jsntbocjj 发表于 2022-2-24 22:23:27 |只看作者 |坛友微信交流群
HXAI102230 发表于 2022-2-24 09:49
多谢大佬~话说这个帖子的有偿编码在哪里设置啊,没找到放论坛币的地方~

使用道具

地板
whymath 发表于 2022-2-26 13:49:40 |只看作者 |坛友微信交流群
  1. data orig;
  2.   format cust_no time_click data_Date extra_data $42.;
  3.   input cust_no$ time_click$ data_Date$ extra_data$;
  4.   cards;
  5. 1234 20220201090122 20220201 登录
  6. 1234 20220201090320 20220201 转账
  7. 2768 20220201100102 20220201 登录
  8. 2768 20220201100503 20220201 理财
  9. 1234 20220201133720 20220201 付款
  10. 3764 20220202070102 20220202 登录
  11. ;
  12. run;

  13. proc sort;
  14.   by cust_no time_click;
  15. run;

  16. data middle;
  17.   set have;
  18.   by cust_no;

  19.   time=input(time_click,b8601dj.);
  20.   lagtime=lag(time);
  21.   if first.cust_no then order=1;
  22.   else order+((time-lagtime)>600);
  23.   format time e8601dt.;
  24. run;

  25. data final;
  26.   length data_Date cust_no extra $42.;
  27.   do until(last.order);
  28.     set middle;
  29.     by cust_no order;
  30.     extra=catx(',',extra,extra_data);
  31.   end;
  32.   keep data_Date cust_no extra;
  33. run;
复制代码


使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-6-10 09:01