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;
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
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.