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

I hope someone can help me. I have a large data sets with four variables. The first 3 variables have duplicate rows where only the last variable is a different number. How do I sum the last variable for all the combinations of the first three variables? So if the first 3 variables as in B_CODE P_CODE and DATE have the same combination I want to sum the the ACTUAL variable.

1 ACCEPTED SOLUTION

Accepted Solutions
Astounding
PROC Star

I think this is what you are asking for.  It creates a SAS data set holding the totals of the last variable, for every possible combination of the first three:

 

proc summary data=have nway;

class var1 var2 var3;

var var4;

output out=want (drop=_type_ _freq_) sum=total_var4;

run;

 

The program requires some tweaking if it is possible that any of your first three variables ever take on a missing value.

View solution in original post

5 REPLIES 5
Community_Guide
SAS Moderator

Hello @HelpPlease,


Your question requires more details before experts can help. Can you revise your question to include more information? 

 

Review this checklist:

  • Specify a meaningful subject line for your topic.  Avoid generic subjects like "need help," "SAS query," or "urgent."
  • When appropriate, provide sample data in text or DATA step format.  See this article for one method you can use.
  • If you're encountering an error in SAS, include the SAS log or a screenshot of the error condition. Use the Photos button to include the image in your message.
    use_buttons.png
  • It also helps to include an example (table or picture) of the result that you're trying to achieve.

To edit your original message, select the "blue gear" icon at the top of the message and select Edit Message.  From there you can adjust the title and add more details to the body of the message.  Or, simply reply to this message with any additional information you can supply.

 

edit_post.png

SAS experts are eager to help -- help them by providing as much detail as you can.

 

This prewritten response was triggered for you by fellow SAS Support Communities member @PeterClemmensen

.
Reeza
Super User

I think you're going to need to post some sample data so we understand what you want. 

Ideally include what you have, what you want, and what you've tried.

 


@HelpPlease wrote:

I hope someone can help me. I have a large data sets with four variables. The first 3 variables have duplicate rows where only the last variable is a different number. How do I sum the last variable for all the combinations of the first three variables? So if the first 3 variables are equal I want to sum the last variable.


 

Astounding
PROC Star

I think this is what you are asking for.  It creates a SAS data set holding the totals of the last variable, for every possible combination of the first three:

 

proc summary data=have nway;

class var1 var2 var3;

var var4;

output out=want (drop=_type_ _freq_) sum=total_var4;

run;

 

The program requires some tweaking if it is possible that any of your first three variables ever take on a missing value.

HelpPlease
Calcite | Level 5

Thank you I really appreciate it, it worked!

Reeza
Super User

https://github.com/statgeek/SAS-Tutorials/blob/master/proc_means_basic.sas

 

Please don't post PDF of images. Post text data - if your problem is more complex you're essentially asking someone to type your data to help you out.

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

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
  • 5 replies
  • 1880 views
  • 0 likes
  • 4 in conversation