BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
capam
Pyrite | Level 9

I tried the following code to sum STATISTIC_ATTRIBUTE_VAL if SORT_ORDER is a certain value. 

 

DATA TABS_counts ;
*set TABS_counts;
retain pos_sum;
IF SORT_ORDER = 1121 then do;
pos_sum=sum(pos_sum,STATISTIC_ATTRIBUTE_VAL);END;

RUN;

The output is a blank. What is the proper method to bring in SORT_ORDER and STATISTIC_ATTRIBUTE_VAL  which are in created tables above? Thanks.

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
capam
Pyrite | Level 9
Reeza, thank you for the quick reply. proc means does provide some stats, however, I'm trying to sum up a column STATISTIC_ATTRIBUTE_VAL when SORT_ORDER matches different values.
Thanks for pointing me in the right direction. The code I used is:

proc means data=WORK.QUERY_FOR_COUNTS MEAN SUM MAXDEC=2;
where SORT_ORDER = 1121;
var STATISTIC_ATTRIBUTE_VAL;
run;

Regards,
capam

View solution in original post

4 REPLIES 4
Reeza
Super User

What exactly are you trying to do? 

And why did you comment out the SET statement? That means you won't have any data to work with...is there a reason to not use proc means?

 

proc means data=tabs_count;
where sort_order = 1121;
var pos_sum;
output out=want sum=statistic_attribute_val;
run;

@capam wrote:

I tried the following code to sum STATISTIC_ATTRIBUTE_VAL if SORT_ORDER is a certain value. 

 

DATA TABS_counts ;
*set TABS_counts;
retain pos_sum;
IF SORT_ORDER = 1121 then do;
pos_sum=sum(pos_sum,STATISTIC_ATTRIBUTE_VAL);END;

RUN;

The output is a blank. What is the proper method to bring in SORT_ORDER and STATISTIC_ATTRIBUTE_VAL  which are in created tables above? Thanks.

 

 


 

capam
Pyrite | Level 9
Reeza, thank you for the quick reply. proc means does provide some stats, however, I'm trying to sum up a column STATISTIC_ATTRIBUTE_VAL when SORT_ORDER matches different values.
Thanks for pointing me in the right direction. The code I used is:

proc means data=WORK.QUERY_FOR_COUNTS MEAN SUM MAXDEC=2;
where SORT_ORDER = 1121;
var STATISTIC_ATTRIBUTE_VAL;
run;

Regards,
capam
ballardw
Super User

@capam wrote:
Reeza, thank you for the quick reply. proc means does provide some stats, however, I'm trying to sum up a column STATISTIC_ATTRIBUTE_VAL when SORT_ORDER matches different values.
Thanks for pointing me in the right direction. The code I used is:

proc means data=WORK.QUERY_FOR_COUNTS MEAN SUM MAXDEC=2;
where SORT_ORDER = 1121;
var STATISTIC_ATTRIBUTE_VAL;
run;

Regards,
capam

Still have not shown any starting data. Or a log.

 

You say "when SORT_ORDER matches different values". Is this supposed to matching values in another data set somewhere?

 

And you may even want to show how you build WORK.QUERY_FOR_COUNTS. It may be that the input data to that set is actually what you want to sum from.

Reeza
Super User
proc means data=WORK.QUERY_FOR_COUNTS MEAN SUM MAXDEC=2;
class sort_order;
var STATISTIC_ATTRIBUTE_VAL;
run;

My guess is that's what s/he needs.

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
  • 1301 views
  • 0 likes
  • 3 in conversation