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.

sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

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