I have a data set with many race variables, and the variables look like the attached picture.
I want to check if one of them is 'Y', other race variables are 'N', and print out any observations with two or more 'Y' in different race variables.
How do I write such code?
Thank you for the help!
Depending on your actual data usage Hispanic Ethnicity may not exclude any race and some systems with these variable allow for "more than one race" type data.
data want;
set have;
if countc(cats(h,w,b,a,ai,nhopi),'Y') >1;
run;
Where h,w,b,a,ai and nhopi are the names of your race variables and if they are actually character variables.
What this does is combine all of the variables into one string and then countc determines how many times the letter Y is in the result.
If you want to write code, you need to know the names of the variables in your data set.
If you want someone here to write code, you have to tell us the names of the variables.
@Astounding that was hilarious. Made me laugh. Nice one! lol
Depending on your actual data usage Hispanic Ethnicity may not exclude any race and some systems with these variable allow for "more than one race" type data.
data want;
set have;
if countc(cats(h,w,b,a,ai,nhopi),'Y') >1;
run;
Where h,w,b,a,ai and nhopi are the names of your race variables and if they are actually character variables.
What this does is combine all of the variables into one string and then countc determines how many times the letter Y is in the result.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.