DATA Step, Macro, Functions and more

IF-THEN-ELSE without conditions for THEN

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 5
Accepted Solution

IF-THEN-ELSE without conditions for THEN

I have this long-running macro code to check for the existence of a local table but there are no statements after the THEN.  What happens?  What does SAS do?  I'm just trying to understand the logic

 

/* make sure the local table exist */

%if %sysfunc(exist(cdm.&tablename)) %then;  

    %else %do;

      %let man_month=%sysfunc(putn(%sysfunc(intnx(MONTH,%sysfunc(inputn(&sysdate9,date9.)),+1)),yymmn6.));

      %return;

   %end;


Accepted Solutions
Solution
‎06-12-2018 09:36 AM
Respected Advisor
Posts: 3,022

Re: IF-THEN-ELSE without conditions for THEN

If this macro finds that the table exists, it does nothing. If it does not exists then it does the calculation in the %ELSE portion.

--
Paige Miller

View solution in original post


All Replies
Solution
‎06-12-2018 09:36 AM
Respected Advisor
Posts: 3,022

Re: IF-THEN-ELSE without conditions for THEN

If this macro finds that the table exists, it does nothing. If it does not exists then it does the calculation in the %ELSE portion.

--
Paige Miller
Super Contributor
Posts: 340

Re: IF-THEN-ELSE without conditions for THEN

A more readable version would be to simply negate the condition :

 

%if not %sysfunc(exist(cdm.&tablename)) %then do;  
    %let man_month=....
%end;

 

 

 

 

☑ This topic is solved.

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

Discussion stats
  • 2 replies
  • 97 views
  • 2 likes
  • 3 in conversation