Hi I am thinking is it possible to count distinct combination of two variables, for example:
I know proc sql;
count(distinct (variable))
but it only count base on one criteria...
person_ID | condition_Id |
1 | 1 |
1 | 2 |
1 | 1 |
2 | 2 |
3 | 1 |
3 | 1 |
4 | 2 |
4 | 1 |
4 | 2 |
5 | 1 |
5 | 2 |
6 | 1 |
this should give me a count of 9 (person 1 was count twice although it has 3 entries, person 3 count only 1 although it has 2 entries).
All ideas are welcome!
Distinct can also be used at the row level:
data test;
input person_ID condition_Id ;
datalines;
1 1
1 2
1 1
2 2
3 1
3 1
4 2
4 1
4 2
5 1
5 2
6 1
;
proc sql;
select count(*) as n
from
(select distinct person_id, condition_id
from test);
quit;
Distinct can also be used at the row level:
data test;
input person_ID condition_Id ;
datalines;
1 1
1 2
1 1
2 2
3 1
3 1
4 2
4 1
4 2
5 1
5 2
6 1
;
proc sql;
select count(*) as n
from
(select distinct person_id, condition_id
from test);
quit;
The SQL gurus may shoot me over this, but as long as both variables are numeric you could use:
proc sql;
select count (distinct(person_ID + condition_ID/10)) from have;
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.