DATA Step, Macro, Functions and more

IF Statements Problem with Precedence

Accepted Solution Solved
Reply
Frequent Contributor
Posts: 123
Accepted Solution

IF Statements Problem with Precedence

I'm having an issue with if statements in terms of which if statement takes precedence when the similar conditions are met. Let me explain. This is my data:

 

data MACID;
  input ApprovedPriceType $ 'GER Pharm'n $ Instate $ Code_MAC $;
datalines;
MAC2501A CVS MACHZ .
MAC5251A CVS MACHZ MAC01
MACCHPCO CVS MACHZ MAC02
MACCHPME CVS MACHZ MACMEDCARE
MACHZ CVS MACJX .
MACIA CVS MACJX MAC01
MACNC CVS MACJX MACMEDCARE
;

And this is my code:

 

data MACLIST;
  set MACID;
if ApprovedPriceType in('MAC5251A','MACCHPCO','MACHZ','MACNC') then MAC_List=ApprovedPriceType;
if 'GER Pharm'n='CVS' and Instate='MACHZ' and Code_MAC='MAC02' then MAC_List='MAC02';
if 'GER Pharm'n = 'CVS' and Instate = 'MACHZ' and Code_MAC='MAC01' then MAC_List='MAC2501A1J';
run;

What I'm trying to do with the first if statement is make it have precedence over any proceeding if statement. So, for example, if the ApprovedPriceType is 'MACCHPCO', I want the MAC_List to be 'MACCHPCO'. The trouble is, once it hits the second if, which matches the conditions of the 'MACCHPCO' line in the data, I get 'MAC02' as the MAC_List. Why is this? I tried flipping the lines and it still didn't work. How can I fix this? Thank you for your help.


Accepted Solutions
Solution
‎09-20-2016 10:20 AM
Super Contributor
Posts: 305

Re: IF Statements Problem with Precedence

Hello,

 

Use else if for the 2nd and third statement.

View solution in original post


All Replies
Solution
‎09-20-2016 10:20 AM
Super Contributor
Posts: 305

Re: IF Statements Problem with Precedence

Hello,

 

Use else if for the 2nd and third statement.

☑ This topic is solved.

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

Discussion stats
  • 1 reply
  • 160 views
  • 1 like
  • 2 in conversation