T_demog Table programming, formatting difficult

27 views
Skip to first unread message

chandu vanam

unread,
Mar 14, 2015, 10:04:39 PM3/14/15
to anova...@googlegroups.com
Hi, some thing is wrong about formatting,in my table programming, please see below and suggest any solution for this impasse. the problem is in the but one step (I think !).

%macro init;
%if &sysscp=WIN %then %do;
    libname fmt102 "C:\Users\shaker\Dropbox\batch5\AG102\formats";
    options fmtsearch = (work fmt102);
    options mautosource sasautos = (sasautos "C:\Users\shaker\Dropbox\chandu\AG102\macro");

    options validvarname = upcase msglevel = i  ls=256 nocenter;

    libname raw102 "C:\Users\shaker\Dropbox\chandu\AG102\data\raw";
    libname sdtm102 "C:\Users\shaker\Dropbox\chandu\AG102\data\sdtm";
    libname adam102 "C:\Users\shaker\Dropbox\chandu\AG102\data\adam";
    libname adamx102 "C:\Users\shaker\Dropbox\chandu\AG102\data\adamxpt";
    libname sdtmx102 "C:\Users\shaker\Dropbox\chandu\AG102\data\sdtmxpt";
    options nofmterr fmtsearch = (work library);
%end;
%mend;
%init;

proc format;
    value trt (multilabel)
      0=  "Placebo"
      1=  "Active"
      0-1= "Total";

    value agr
        1 = "<55Years"
        2 = ">55Years"
        3 = "Missing";
       
    invalue agr
        "<55Years" = 1
        ">55Years" = 2
        "Missing" =  3;
       
    invalue sex
        'F'=2
        'M'=1
        ' '=3
        'U'=4;
        value sex
        1 ='Male'
        2 ='Female'
        3 ='Missing'
        4 ='Unknown';
    value mod
    1 = 'Gender'
    2 = 'Age Group'
    3 = 'Race'
    4 = 'Age'
quit;

proc sort data=adam102.adsl out= S_adsl_0;
    by sex trt01pN;
run;

proc summary data=s_adsl nway;
    class trt01pN sex /mlf;
    output out= Numer_1 (drop= _type_ rename=(_freq_= Numer));
     format trt01pn trt.;
run;

proc summary data=s_adsl nway;
    class  trt01pn/mlf;
    output out= Denom(drop= _type_ rename=(_freq_= Denom));
    format trt01pn trt.;
run;

data  NPCT_1;
    merge numer_1 denom;
    by trt01pn;
    pct=numer/denom * 100;
    NPCT=strip(put(numer, 5.))||" ("||strip(put(pct, 5.1))||") ";
run;
proc sort data=NPCT_1 out= S_NPCT;
    by sex;
run;
proc transpose data=s_NPCT out=T_NPCT;
    by sex;
    id TRT01Pn;
    var NPCT;
run;

Data S1_NPCT;
    Length First_parameter $30 Placebo $20 Active $ 20 Total $ 20;
    set T_NPCT end =eof;
    Frq_Count=strip(input(sex, sex.));
    Frq_seq=1;
    first_parameter="  " ||put(frq_count, sex.);
    output;
    if eof then do;
    first_parameter=put(frq_seq, mod.);
    Frq_Count=0;
    total=" ";
    active=" ";
    placebo=" ";
    output;
    end;
run;
proc sort data=S1_NPCT out=SS1_NPCT (drop=_name_ sex);
 by frq_seq Frq_count;
run;


proc sort data=adam102.adsl out= S_adsl_1;
    by agegr1 agegr1n trt01pN;
run;

proc summary data=s_adsl_1 nway;
    class trt01pN agegr1n /mlf;
    output out= Numer_2 (drop= _type_ rename=(_freq_= Numer));
     format trt01pn trt.;
run;

data  NPCT_2;
    merge numer_2 denom;
    by trt01pn;
    pct=(numer/denom) * 100;
    NPCT=strip(put(numer, 5.))||" ("||strip(put(pct, 5.1))||") ";
run;
proc sort data=NPCT_2 out= S_NPCT_2;
    by AGEGR1N;
run;
proc transpose data=S_NPCT_2 out=T_NPCT_2;
    by AGEGR1N;
    id TRT01Pn;
    var NPCT;
run;

Data S1_NPCT_1;
    Length First_parameter $30 Placebo $20 Active $ 20 Total $ 20;
    set T_NPCT_2 end =eof;
    informat agegr1n agr.;
    Frq_Count=strip(input(agegr1n, agr.));
    Frq_seq=2;
    first_parameter="  " ||put(frq_count, agr.);
    output;
    if eof then do;
    first_parameter=put(frq_seq, mod.);
    Frq_Count=0;
    total=" ";
    active=" ";
    placebo=" ";
    output;
    end;
run;
proc sort data=S1_NPCT_1 out=SS1_NPCT_1 (drop=_name_ agegr1n);
 by frq_seq Frq_count;
run;

VijayaN

unread,
Mar 15, 2015, 7:55:05 PM3/15/15
to anova...@googlegroups.com
Chandu,

There is semicolon missing at 4="Age' in format value of mod and also you might want to try with out 2nd options statement
in init file:
options nofmterr fmtsearch = (work library);


Vijaya
Reply all
Reply to author
Forward
0 new messages