SAS 代码合集

来源:互联网 发布:it学徒 编辑:程序博客网 时间:2024/04/28 16:49
/* Time Series Regression */proc sort data=exports.cigar;by state year;run;Title 'Fix One Effect: State Year';proc tscsreg data=exports.cigar;ID state year;model sales=price pop pop16 cpi ndi pimin/fixone;run;Title 'Fix One Effect:  Year  State';proc tscsreg data=exports.cigar;ID  state year  ;model sales=price pop pop16 cpi ndi pimin/ranone;run;/* Data Tranpose */proc sort data=temp;by  campaign_name country_cd ;quit;proc transpose data=temp out=trans_temp(drop=_label_  _name_);ID country_cd;var  count;by campaign_name  ;quit;options missing=0;/* Data Computab */ods _all_ close ;data bookings;input reptdate date9. la atl ch ny;format reptdate date9.;datalines;01JAN1989 100 110 120 13001FEB1989 140 150 160 17001MAR1989 180 190 200 21001APR1989 220 230 240 25001MAY1989 260 270 280 29001JUN1989 300 310 320 33001JUL1989 340 350 360 37001AUG1989 380 390 400 41001SEP1989 420 430 440 45001OCT1989 460 470 480 49001NOV1989 500 510 520 53001DEC1989 540 550 560 570;proc computab data=bookings cspace=1 cwidth=6 out=result;columns qtr1 pct1 qtr2 pct2 qtr3 pct3 qtr4 pct4;columns qtr1-qtr4 / format=6.;columns pct1-pct4 / format=6.2;rows la atl ch ny total;/* column selection */_col_ = qtr( reptdate ) * 2 - 1;/* copy qtr column values temporarily into pct columns */colcopy:pct1 = qtr1;pct2 = qtr2;pct3 = qtr3;pct4 = qtr4;/* calculate total row for all columns *//* calculate percentages for all rows in pct columns only */rowcalc:total = la + atl + ch + ny;if mod( _col_, 2 ) = 0 then do;la = la / total * 100;atl = atl / total * 100;ch = ch / total * 100;ny = ny / total * 100;total = 100;end;run;proc transpose  data=result out=temp;format pct1-pct4 4.2;/* Filepath Check */%let filepath=\\Hqdellsas04\exports\APJ\EM\Test_WEI\;%macro test(filepath);%local myfile;%let rc=%sysfunc(filename(myfile,&filepath));%put rc=&rc;%put myfile=&myfile;%let rc=%sysfunc(fopen(&myfile));%if &rc %then %put rc=&rc File is not open;%put myfile=&myfile;%let rc=%sysfunc(fclose(&rc));%put rc=&rc;%put myfile=&myfile;%mend test;%macro filepathcheck(path);%let rc=%sysfunc(filename(myfile, &path));%put rc=&rc;%if  NOT %sysfunc(fexist(&myfile)) %then %do;data _null_;call symput('MAMsg', 'Filepath Not Exists');  call symput('SYSCC', 1012);run;%end;%let index= %sysfunc(compress(%sysfunc(substr(&filepath, %sysfunc(length(&filepath)),1))));%put index=&index;%if &index=\ %then %put The last character is \;%else %do;%put The last character is not "\";data _null_;call symput('MAMsg', 'Filepath is not ending with \');  call symput('SYSCC', 1012);%abort ;run; %end;%mend filepathcheck;/*  ODS Output  */options nodate pageno=1 linesize=80 pagesize=60;LIBNAME MATABLES BASE "G:\MADATA\contexts\emea_apj\matables" ;LIBNAME export BASE "G:\MADATA\contexts\emea_apj\exports\APJ" ;data export.test;format dim_plat_person_id F20.;stop;run;ods trace on / listing;ods output Base.Datasets.Members=output;proc datasets library=export  details ;quit;ods output close;ods trace off;/*  PWEncode  */LIBNAME smb_prod NETEZZA DATABASE=smb_prod_view_ea SERVER=hqdellnz06 AUTHDOMAIN="hqdellnz06" DBCONINIT='SET SERIALIZABLE = FALSE;';%let date=%sysfunc(date());%put date=&date ;%let today=%sysfunc(putn(&date, yymmddN8.));%put today=&today ;LIBNAME export BASE "G:\MADATA\contexts\emea_apj\exports\APJ" ;filename myfile 'G:\MADATA\contexts\emea_apj\exports\APJ\wzhao.txt' ;proc pwencode in='123456!!' out= myfile ;run;FILENAME pwfile 'G:\MADATA\contexts\emea_apj\exports\APJ\wzhao.txt' ;DATA temp;INFILE pwfile OBS=1 Length=l;INPUT @1 myPW $varying1024. l ;CALL SYMPUT('myPW', SUBSTR(myPW,1,l));RUN;%put mypw=&myPW ;

0 0
原创粉丝点击