My apologize Tom, I forgot the counting variable for FOOD and DRINK, I will called nsoc, and I modify your code, and now It get sense. Btw, in your code, I dont understand 99999, and group by 1,2,3,4,5 Would you like to explain me it. Thanks. dataset HAVE: nvalue nintensity nitem nsoc value intensity item flag 2 3 1 5 DRINK high orange 3 2 2 0 3 DRINK medium orange 2 . 1 2 2 DRINK low green 1 . 3 0 5 DRINK high green 3 . 2 0 3 DRINK medium green 2 5 2 3 4 FOOD low cheese 1 5 4 0 2 FOOD high cheese 3 . 1 4 3 FOOD medium meat 2 5 2 4 4 FOOD low meat 1 . 4 0 2 FOOD high meat 3 5 1 0 3 FOOD medium vegetable 2 The dataset would be: proc sql noprint ; create table display as select freqvalue, freqitem, flag , item as level , intensity , nitem as count from prewant union select freqvalue,99999 as freqitem, flag , upcase(value) as level , intensity , nsoc as count /* it makes sense now */ from prewant group by 1,2,3,4,5 order by freqvalue descending , freqitem descending , flag descending ; quit;
... View more