Friday, 7 October 2011

proc formats


/*proc formats*/

/*extraction*/
proc import datafile='C:\Documents and Settings\mobileclub\Desktop\source\xls\data.xls' out=dm1
dbms=excel replace;
sheet='sheet4$';
run;

/*tansformation create infomats and formats*/
proc format;
value sx 1='male' 2='female';
invalue $rc 'as'='asian' 'af'='african';
value $cl 'w'='white' 'b'='black';
run;

/*conversions*/
data dm2;
set dm1;
s=put(sex,sx.);
r=input(race,$rc.);
c=put(color,$cl.);
drop sex race color;
rename s=sex r=race c=color;
run;
proc print data=dm2;
run;


proc import datafile='C:\Documents and Settings\mobileclub\Desktop\source\xls\data.xls' out=dm1
dbms=excel replace;
sheet='sheet5$';
run;

proc format;
invalue vs 'V1'=1 'V2'=2 'V3'=3;
invalue ds 1=0.05 2=0.1 3=0.15;
run;

data dm2;
set dm1;
v=input(visit,vs.);
d=input(dose,ds.);
drop visit dose;
rename v=visit d=dose;
run;
proc print data=dm2;
run;

data emp;
input eid $ month $ sale;
cards;
e101 jan 450
e102 jan 350
e103 jan 250
e101 feb 410
e102 feb 300
e103 feb 210
e101 mar 550
e102 mar 270
e103 mar 150
;

proc format;
invalue grdn 
low - 250=4
250 < - < 350=3
350 - <450=2
450 - high=1;
value grdc 
low - 250='D'
250 < - < 350='C'
350 - <450='B'
450 - high='A';
run;

data emp1;
set emp;
g=input(sale,grdn.);
rename g=grade;
run;
proc print data=emp1;
run;

data emp2;
set emp;
g=put(sale,grdc.);
rename g=grade;
run;
proc print data=emp2;
run;

data emp3;
set emp;
g=input(sale,grdn.);
r=put(sale,grdc.);
rename g=rank r=grade;
run;
proc print data=emp3;
run;

No comments:

Post a Comment