Dear,
I am trying to calculate number of subjects based on a condition.
With my code, I donot see all OBS in the output. How to get all OBS. Please help. Thank you
Code:
proc sql;
create table one as
select *, count(distinct id) as NS
from data1
where flag='Y';
quit;
Data1
id flag
1 Y
1 Y
1 Y
2 Y
2 Y
3
4
5 Y
6
7 Y
output expected:
Data2
id flag NS
1 Y 4
1 Y 4
1 Y 4
2 Y 4
2 Y 4
3
4
5 Y 4
6
7 Y 4
output getting
Data1
id flag NS
1 Y 4
1 Y 4
1 Y 4
2 Y 4
2 Y 4
5 Y 4
7 Y 4
proc sql;
create table one as
select *, (select count(distinct id) from data1 where flag="Y") as NS
from data1;
quit;
Thank you for the code. It worked.
How to include one more ststement as I have to calculate number of subjects by another variable(where AFLAG='Y') in same data step.
your code:
proc sql;
create table one as
select *, (select count(distinct id) from data1 where flag="Y") as NS
from data1;
quit;
Thank you for the code. It worked.
How to include one more ststement as I have to calculate number of subjects by another variable(where AFLAG='Y') in same data step.
Your code
proc sql;
create table one as
select *, (select count(distinct id) from data1 where flag="Y") as NS
from data1;
quit;
Experiment and understand how this query works. Extending it should then become obvious.
proc sql;
create table two as
select
*,
(select count(distinct id) from data1 where flag="Y") as NS,
(select count(distinct id) from data1 where aflag="Y") as aNS
from data1;
quit;
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 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.