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.
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.
Ready to level-up your skills? Choose your own adventure.