/*FixedEffectSummaryMaker Summarize results from fixed effect results data. Imagine we have five result data sets called result1 result2 result3 result4 and result5. This is an example of how you can create a data "result1" that contains the results of fixed effects. proc mixed data=misc.&subject.data covtest noclprint; class school teacher; model Y= X1 X2 /s ddfm=kr; random intercept /sub=teacher; ods output Nobs=N solutionF=result1 CovParms=COV; run; */ libname here "C:\Projects\"; %let dataname=result; %macro kaz (var1=); data mod&var1; set here.&dataname; keep effect&var1 estimate&var1 probt&var1 sign&var1 effect jun&var1; effect&var1=effect; Estimate&var1=Estimate; probt&var1=probt; length sign&var1$ 3; sign&var1=''; if probt < 0.1 then sign&var1='+'; if probt < 0.05 then sign&var1='*'; if probt < 0.01 then sign&var1='**'; if probt < 0.001 then sign&var1='***'; if probt < -999 then sign&var1=' '; jun&var1=_n_; run; proc sort;by effect;run; %mend kaz; %kaz (var1=1); %kaz (var1=2); %kaz (var1=3); %kaz (var1=4); %kaz (var1=5); data &subject&test; merge mod1 mod2 mod3 mod4 mod5; by effect; run; proc sort;by jun5; proc print data=&subject&test round; title "Result Summary based on &dataname"; title2 "probt < 0.1 +, probt < 0.05 *, if probt < 0.01 **, probt < 0.001 ***"; var effect5 estimate1 sign1 estimate2 sign2 estimate3 sign3 estimate4 sign4 estimate5 sign5; run; %mend uekawa; %uekawa (dataname=result1); %uekawa (dataname=result1); %uekawa (dataname=result1);