BookmarkSubscribeRSS Feed
ljljlj
Calcite | Level 5

Hello, I need to use proc means only for rows that meet two criteria. For example:

 

pre   post    dif

1        0          -1

0       4           4

3       2           -1

0       0           0

5       5           0

 

I'd like to run proc means and exclude the 4th row.

I've tried using "where A ne 0 and B ne 0" and where "A ne 0 or B ne 0" and neither provide the correct output. Any help would be greatly appreciated!

 

Unsuccessful code:

proc means data=ABC mean sum;

var pre post dif;

where pre ne 0 and post ne 0;

run;

 

proc means data=ABC mean sum;

var pre post dif;

where pre ne 0 or post ne 0;

run;

 

 

2 REPLIES 2
PaigeMiller
Diamond | Level 26

I'd like to run proc means and exclude the 4th row.

 

	where not (pre eq 0 and post eq 0);

Alternatively

where (pre ne 0) or (post ne 0);

Your last code works for me.

--
Paige Miller
ballardw
Super User

Provide example output for a given input set and describe why it is incorrect, especially for that second proc means code as @PaigeMiller indicates.

sas-innovate-white.png

Missed SAS Innovate in Orlando?

Catch the best of SAS Innovate 2025 — anytime, anywhere. Stream powerful keynotes, real-world demos, and game-changing insights from the world’s leading data and AI minds.

 

Register now

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
  • 831 views
  • 0 likes
  • 3 in conversation