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

Hello,

Thanks for checking!

 

My goal is to get the sum of count of 2 variables (num_id1 and num_id2)  in separate column as 'IDCounts'.

I am getting error prior computing that new column.

 

 

My output should be like this:

num_id1   num_id 2   IDcounts(Newcolumn)

2                   4                      6

4                   4                      8

 

 

proc sql;
create table test.number
as select name, count(num_id1) as count1,

count(num_id2) as count2,
sum(count(cin_id1)) as grand_sum, (Tried this way, still getting error)
sum(count1) as grand_sum1

from test.data

run;

 

 

ERROR: The SUM summary function requires a numeric argument.
ERROR: Summary functions nested in this way are not supported.
ERROR: The following columns were not found in the contributing tables: count1.

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
Tom
Super User Tom
Super User

Looks like you might be confusing the SQL aggregate function SUM() with the SAS function SUM(,).

The first one takes one argument and calculates the sum across observations. The second takes two or more arguments and sums the values in the same observation.

proc sql;
create table test.number as
  select name
      , count(num_id1) as count1
      , count(num_id2) as count2
      , sum(calculated count1, calculated count2) as grand_sum
  from test.data
  group by name
  order by name
;
quit;

View solution in original post

2 REPLIES 2
Tom
Super User Tom
Super User

Looks like you might be confusing the SQL aggregate function SUM() with the SAS function SUM(,).

The first one takes one argument and calculates the sum across observations. The second takes two or more arguments and sums the values in the same observation.

proc sql;
create table test.number as
  select name
      , count(num_id1) as count1
      , count(num_id2) as count2
      , sum(calculated count1, calculated count2) as grand_sum
  from test.data
  group by name
  order by name
;
quit;
Kalai2008
Pyrite | Level 9
Thank you! It worked..

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
  • 2 replies
  • 13246 views
  • 1 like
  • 2 in conversation