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;
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
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.
Ready to level-up your skills? Choose your own adventure.