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
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;
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;
worked thanks for the timely feedback
You need to include sample data, otherwise it is next to impossible to suggest anything helpful.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.