Help using Base SAS procedures

AND and OR statements in sas problem

Reply
Contributor
Posts: 36

AND and OR statements in sas problem

How can this  EXCEL statement be written in SAS

Excel version:

=IF(OR(AND(A<=X,ISBLANK(B)),(AND(A<=X,B<A))),1,0)

in Other words, if A<=X and B is blank then  then variable value =1 OR if A<=X and B<1 then variable value =1 else variable value=c

I've used a SAS statement like this:

data want

let value $10:

iF A is  le  X  and B =''  then value= ‘1’:


if A  is le X and B lt A  then values='1':

else value=0

these statements do not bring up correct results. How do use the OR statement correctly here? I think the error is in the implementation of OR.

Respected Advisor
Posts: 4,930

Re: AND and OR statements in sas problem

With SAS, TRUE is 1 and FALSE is 0, so your expression can be written:


value = A<=X and (missing(B) or B<A);

PG

PG
Super User
Posts: 19,851

Re: AND and OR statements in sas problem

That doesn't seem like valid SAS code, I think you missed an else for one and a typo, value vs values.

Is this closer:

IF A  le  X  and B =''  then value= 1;

ELSE if A le X and B lt A  then value=1;

else value=0;

Super User
Posts: 11,343

Re: AND and OR statements in sas problem

What do you want to do if A is missing? Missing values are always less than anything else and you want to make sure you are getting expected results. If you don't want to assign 1 when A is missing you need to address that.

Contributor
Posts: 36

Re: AND and OR statements in sas problem

What about this:

IF A ne. and A  le  X  and B =.  then value= 1;

ELSE if A ne. and A le X and B lt A  then value=1;

else value=0;

Ask a Question
Discussion stats
  • 4 replies
  • 289 views
  • 0 likes
  • 4 in conversation