美文网首页
数据分析师 - Week13

数据分析师 - Week13

作者: 梁脚毛 | 来源:发表于2018-01-07 11:19 被阅读8次

    SAS技术

    1. 导入中文的txt数据集
    *endocing选项可以让系统用指定的格式来编码文件;
    filename my_file "/Users/PyProjects/kaggle/titanic.txt" encoding="utf-8";
    
    *procedure过程中可以对数据集做处理, 保留想要的字段并且改名;
    proc import datafile=my_file out=my_data(rename=(varo=id) keep=var0 -- var2) 
      replace dbms=dlm;
      delimiter="|";
      getnames=yes;
      guessingrows=23333;
    run;
    
    1. 把大表分开处理,减少服务器的资源消耗。
    在信用卡中心可以获得大量的交易数据,然而每个月的交易数据表都异常的大。
    虽然本人在一家小银行的信用卡中心工作,但是一个月的交易信息表都是千万级以上的数据。
    因此,如果需要过去一年多的交易数据,应该按月分开处理,然后再做汇总合并。
    
    %macro test();
      %do i=2016 to 2018;
        %do j=1 to 12;
          %let yyyymm=i*100+j;
          %if &yyyymm.<=201801 and &yyyymm.>=201609 %then %do; *限定需要获取数据的时间;
            data events_&yyyymm.;
              set lib.events_&yyyymm.(keep=var0--var10);
              length ratio 8.;
              if var10 ^= 0 then ratio=var9/var10;
              else ratio=.;
            run;
            
            proc sql noprint;
              create events_temp_&yyyymm. as 
              select *
              from events_&yyyymm.
              where var0 in (select id from lib.test); *若lib.test很大,最合理应该使用merge;
            quit;
          %end;
        %end;
      %end;
    
      data events_all;
        set events_temp_:; *汇总全部处理过的交易表;
      run;
    %mend test;
    

    相关文章

      网友评论

          本文标题:数据分析师 - Week13

          本文链接:https://www.haomeiwen.com/subject/vkdpnxtx.html