DATA Step, Macro, Functions and more

proc tabulate -where statement

Accepted Solution Solved
Reply
Contributor
Posts: 62
Accepted Solution

proc tabulate -where statement

I want to select  all female students in all grades except grade 3 to run a proc tabulate, but  I am getting this error . Is there a solution to this without listing grade 1,2,4,5,6,and 7 in the "where" statement. Thank you.

 

proc tabulate data= new;

 where  sex=2 and grade ne 2;

 

ERROR: WHERE clause operator requires compatible variables.


Accepted Solutions
Solution
‎06-05-2016 07:39 PM
Respected Advisor
Posts: 4,649

Re: proc tabulate -where statement

One or both of your variables is character, so either

 

 where  sex='2' and grade ne 3;

or

 where  sex=2 and grade ne '3';

or

 where  sex='2' and grade ne '3';

PG

View solution in original post


All Replies
Contributor
Posts: 62

Re: proc tabulate -where statement

  

Updates:

I want to select  all female students in all grades except grade 3 to run a proc tabulate, but  I am getting this error . Is there a solution to this without listing grade 1,2,4,5,6,and 7 in the "where" statement. Thank you.

 

proc tabulate data= new;

 where  sex=2 and grade ne 3;

 

ERROR: WHERE clause operator requires compatible variables.

Solution
‎06-05-2016 07:39 PM
Respected Advisor
Posts: 4,649

Re: proc tabulate -where statement

One or both of your variables is character, so either

 

 where  sex='2' and grade ne 3;

or

 where  sex=2 and grade ne '3';

or

 where  sex='2' and grade ne '3';

PG
Contributor
Posts: 62

Re: proc tabulate -where statement

Thank you PGStats!
Super User
Posts: 17,831

Re: proc tabulate -where statement

Character values need quotes

To test for multiple grades use IN e.g. Grades in (2 3 4 5 6 7). If character all the grade values should be enclosed in quotes. 

☑ This topic is SOLVED.

Need further help from the community? Please ask a new question.

Discussion stats
  • 4 replies
  • 333 views
  • 1 like
  • 3 in conversation