SAS--input、put、處理時間變量


   

data sasuser.talent10;
    set sasuser.talent;
    month=month(lasthried);
    where month=10;
run;
/*sum等算數函數可以直接加不是numeric類型的變量,會建立一個臨時變量將char變成num,但是where不行*/
   /*  Base2=input(testbase,4.)-avgbase;
    mean(of a1-a5);    一系列變量時*/
   data sasuser.talent2;
   set sasuser.talent;
   FtHeight=input(height,2.)/12;    /*input字符變數字,format用cha本身的!!*/
proc print data=sasuser.talent2;
run;

/*產生cha變量*/
/*     a=sex;  sex本身就是cha
    a=sex||'/'||age;    concatenate
    a=sex||'/'||put(age,4);
*/

data sasuser.njtalent;
   set sasuser.talent;
   NewPhone='(201)'||put(phone,7.);
run;
proc print data=sasuser.njtalent;
   var id phone newphone;
run;

data sasuser.talent10;
    set sasuser.talent;
    month=month(lasthired);
run;
proc print data=sasuser.talent10;
    where month=10;
run;

data sasuser.talent10;
   set sasuser.talent;
   if month(lasthired)=10;
   format lasthired date9.;  /*給5位數的date一個12FEB2000這樣一個可讀的格式*/
run;
proc print data=sasuser.talent10;
run;

data sasuser.taloct99;
   set sasuser.talent;
   if year(lasthired)=1999 and month(lasthired)=10;
   format lasthired date9.;
run;
proc print data=sasuser.taloct99;
run;


data sasuser.master;
    set sasuser.talent( OBS=5);
    rephired=mdy(month,day,1998);
    format rephired date9.;
    AA=DATE();
    BB=TODAY();
run;
proc print data=sasuser.master ;
run;


data master;
    set sasuser.master;
    qtrselapsed=intck('qtr',rephired,lasthired); /*計算時差*/
run;
proc print data=master;
run;

/*給二參數,向后加5個月,b表示1號,m=15號,e=30號*/
MonthX=intnx('month','01jan95'd,5,'b'); /*12935  (June 1, 1995)*/
MonthX=intnx('month','01jan95'd,5,'m'); /*12949  (June 15, 1995)*/
MonthX=intnx('month','01jan95'd,5,'e');/*12964  (June 30, 1995)*/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM