BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
LisaYIN9309
Obsidian | Level 7

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_IDcondition_Id
11
12
11
22
31
31
42
41
42
51
52
61

 

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!

 

1 ACCEPTED SOLUTION

Accepted Solutions
PGStats
Opal | Level 21

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;
PG

View solution in original post

3 REPLIES 3
PGStats
Opal | Level 21

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;
PG
LisaYIN9309
Obsidian | Level 7
This is great! Than you!
Astounding
PROC Star

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;

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 3 replies
  • 31263 views
  • 3 likes
  • 3 in conversation