DATA Step, Macro, Functions and more

sas functions

Reply
Super Contributor
Posts: 306

sas functions

Dear

 

I am trying to find a function that i can be used in the second 'if'  statement. Please suggest.Thank you

 

in the second if statement, i am trying to find if all three variables missing or all three variables ='UNKNOWN' then set the 'd' variable missing.

 

my code;

data two;

set one;

if a="NEGATIVE" and b="NEGATIVE" and c="NEGATIVE" then=d='yes';

if cmiss(a,b,c) =3 or (a='UNKNOWN'  and b='UNKNOWN'  and c='UNKNOWN' ) then d='missing';

else d='no';

 

data one;
input a $1-8 b $10-17 c $19-26;
datalines;
NEGATIVE NEGATIVE NEGATIVE
UNKNOWN  UNKNOWN  UNKNOWN
UNKNOWN  
NEGATIVE

;
Respected Advisor
Posts: 2,647

Re: sas functions

Posted in reply to knveraraju91

@knveraraju91 wrote:

Dear

 

I am trying to find a function that i can be used in the second 'if'  statement. Please suggest.Thank you

 

in the second if statement, i am trying to find if all three variables missing or all three variables ='UNKNOWN' then set the 'd' variable missing.

 


It's not clear to me what the question is. You haven't actually asked a question.

--
Paige Miller
Esteemed Advisor
Posts: 5,390

Re: sas functions

Posted in reply to knveraraju91

I suspect that what you mean to do is :

 

data two;
set one;
if a="NEGATIVE" and b="NEGATIVE" and c="NEGATIVE" then d='yes';
else if cmiss(a,b,c) =3 or (a='UNKNOWN'  and b='UNKNOWN'  and c='UNKNOWN' ) then d='missing';
else d='no';
run;
PG
Super User
Posts: 6,522

Re: sas functions

Posted in reply to knveraraju91

I'm not sure you meant to re-use the variable name D all the time.  But here is an approach you can use.

 

if a=b=c then do;

   if a in (' ', 'NEGATIVE') then d='yes';

   else d='no';

end;

Ask a Question
Discussion stats
  • 3 replies
  • 134 views
  • 1 like
  • 4 in conversation