BookmarkSubscribeRSS Feed
markjc
Fluorite | Level 6
I’m trying to select records based on a variable (Style) but I also want to exclude some of those records based on 2 other variables.
From my test data, I would like all style 104 except those with CD = ‘A’ and Num = 12.
Desired results ID 4,5,6,7

data LIST;
input ID Style CD $ NUM;
datalines;
1 102 A 12
2 102 C 14
3 104 A 12
4 104 A 13
5 104 B 14
6 104 B 12
7 104 C 12
;
run;

PROC PRINT DATA = LIST noobs;
where style = 104 and (cd ne 'A' and num ne 12);
RUN;
/* only returning ID 5 */
2 REPLIES 2
Reeza
Super User
Need an "OR" not "AND" in the where statement.

data LIST;
input ID Style CD $ NUM;
datalines;
1 102 A 12
2 102 C 14
3 104 A 12
4 104 A 13
5 104 B 14
6 104 B 12
7 104 C 12
;
run;

PROC PRINT DATA = LIST noobs;
where style = 104 and (cd ne 'A' OR num ne 12);
RUN;
markjc
Fluorite | Level 6
Thank you!
Using the OR with a not equal makes sense but I wasn't seeing it because I kept thinking you need to be 'A' and 12.

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

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
  • 2 replies
  • 828 views
  • 0 likes
  • 2 in conversation