BookmarkSubscribeRSS Feed
subhrajitcet0
Fluorite | Level 6

I have a dataset in which 'Actual.balance' is a numeric column. How do I get these below summary attributes  for the variable 'Actual.Balance' printed in a column with their values adjacent to it.

 

 ColName  variablevalue
Actual.Balance Mean94590150
Actual.BalanceMedian107436
Actual.BalanceSD1020714752
Actual.BalanceNegativeCount14
Actual.BalanceLowest-8742115
Actual.BalanceHighest18800512187
Actual.BalanceTwo_SD_Away4
Actual.BalanceTwo_SD_Below0
Actual.BalanceThree_SD_Away3
Actual.BalanceThree_SD_Below0

 

Any help would be really beneficial for me.

4 REPLIES 4
subhrajitcet0
Fluorite | Level 6

Hi RW9, thanks for the solution. I used PROC MEANS for the same on dummy table i.e. sashelp.cars for the 'Cylinders' variable. Please find code below:

 

ods exclude all;
proc means data=sashelp.cars Mean Median stddev min max stackodsoutput;
var Cylinders;
ods output summary=MeansSummary;
run;
ods exclude none;


proc transpose data=MeansSummary out=meanssummary_transposed(drop=_label_ rename=(_name_=Variable Col1=value));
run;

 

proc sql;
alter table meanssummary_transposed
add ColName char(30);
quit;

 

proc sql;
update meanssummary_transposed
set Colname='Cylinders';
quit;

 

But I am unable to get Summary statistics as Negative count, two_SD_away,two_SD_below,three_SD_Away,three_SD_below through PROC MEANS.

Could you please help?

RW9
Diamond | Level 26 RW9
Diamond | Level 26

I don't know what you mean by Negative count or one_SD_away etc.?  As far as I can tell there is no such calculation, you get stddev, and if you need further processing you use that, i.e. 1 away would be = 1 * stddev, 2 would be 2 * stddev. 

Also if you change yours means a bit you can avoid transposing:

proc means data=sashelp.cars;
  var Cylinders;
  output out=MeansSummary n=n mean=mean median=median stddev=stddev min=min max=max;
run;

data meansummary;
  length col1 $30;
  set meanssummary;
  col1="Cylinders";
run;
Reeza
Super User
Actual.Balance  Mean MEANS
Actual.Balance Median MEANS
Actual.Balance SD MEANS
Actual.Balance NegativeCount FREQ + FORMAT
Actual.Balance Lowest MEANS
Actual.Balance Highest MEANS
Actual.Balance Two_SD_Away Manual, format + FREQ or DATA STEP
Actual.Balance Two_SD_Below Manual, format + FREQ or DATA STEP
Actual.Balance Three_SD_Away same as above
Actual.Balance Three_SD_Below same as above

 

 

It depends on the statistics. See the table above for which procs will work for which metrics. This means you're calculating some things manually.  

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 4 replies
  • 1215 views
  • 0 likes
  • 3 in conversation