HI, PLease refer below for sample data set, code and outputs. /* sample data set */ data MyData; input VarA$ 1 VarB$ 3 Bal; datalines; A X 100 A X 110 A X 120 A Y 130 B X 140 B Y 150 B Y 160 B Z 170 C Y 180 C Z 190 C Z 200 ; Run; proc means data=work.MyData sum nonobs; /* by ;*/ class VarA VarB; var Bal; output out=work.RST1 sum=SumBal; run; proc means data=work.MyData sum nonobs; by VarA VarB; /* class ;*/ var Bal; output out=work.RST3 sum=SumBal; run; RESULTS ::::::: RST1 VarA VarB _TYPE_ _FREQ_ SumBal 0 11 1650 X 1 4 470 Y 1 4 620 Z 1 3 560 A 2 4 460 B 2 4 620 C 2 3 570 A X 3 3 330 A Y 3 1 130 B X 3 1 140 B Y 3 2 310 B Z 3 1 170 C Y 3 1 180 C Z 3 2 390 Results RST3 ::::::::::::::::::::::::::::: VarA VarB _TYPE_ _FREQ_ SumBal A X 0 3 330 A Y 0 1 130 B X 0 1 140 B Y 0 2 310 B Z 0 1 170 C Y 0 1 180 C Z 0 2 390 RST 3 is the required results, but just wondering why RST1 had the extra data in there duplicated. Looks like @Reeza and @Astounding have answered my question 🙂
... View more