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)*/