SAS Day 26: Column Output
Background:
For table outputs, some times we want both the count and an overall percentage for each category rather than a simple number count.
E.g. 75( 74): 75 count represents 74% of the total number in this group.
In order to generate this output format, we need the variable count(c1,c2..) and group total (&n1, &n2..).

Pexels / Pixabay
Example 1: Single Column
col1= count ||" ("|| put((count*100/&bign.),4.1) || ")";
Output:

Example 2: Multiple Column
Dataset:
Desired Output:
As we can see the col1 to col4 shows both the count and the percentage for each group.
Solution Code:
data final; set all; array col[4] $40 col1- col4; array p[4] (&n1 &n2 &n3 &n4); array c[4] n1 n2 n3 n4; do i=1 to 4 col[i]= put (coalesce(c[i],0),4.)|| "(" || put (coalesce(c[i],0)/p[i]*100, 5.1) || ")"
Sample dataset code:
%let n1= 10; %let n2= 5; %let n3=6; %let n4=11; data test; input c1 c2 c3 c4; datalines; . 2 4 5 3 . 4 6 10 3 2 1 0 1 2 9 ; run;
The code was originated from Denish,(i hope i spelled his name correctly 🙂 )
Happy Practicing!💃