數據分析師 - Week13

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;
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容