- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Hello
I am trying to calculate the sum of a variable per group when/conditional that another variable, venues=1
I tried the code below and does not net the correct resutls. I also tried using 'having'. Both having and where, keep in the produced table only those rows where venues=1.
I would like to have the sum for those where venues=1 but in this column (venuest1) also keep the rest of the rows in the dataset where venues ne 1, simply add them by = 0.
so the code in my opinion should include something of the type if venues=1 then do, 'else' venuest1=0
I am a beginnger in proc SQL so any suggestions how to solve this are more than welcome.
proc sql;
create table neo.regtest1 as
select * , sum(absvolume) as venuesT1
from neo.regtest
where venues=1
group by cptyname;
run;
Many thanks in advance!!
Neo
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Something like the following may work:
If it doesn't, post sample data and sample expected output.
proc sql;
create table neo.regtest1 as
select * , sum(absvolume*(venues=1)) as venuesT1
from neo.regtest
group by cptyname;
run;
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Something like the following may work:
If it doesn't, post sample data and sample expected output.
proc sql;
create table neo.regtest1 as
select * , sum(absvolume*(venues=1)) as venuesT1
from neo.regtest
group by cptyname;
run;
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
worked thanks for the timely feedback
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
You need to include sample data, otherwise it is next to impossible to suggest anything helpful.