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.
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.