BookmarkSubscribeRSS Feed
mlcross
Calcite | Level 5

 

Hi there,

 

Apologies if this question feels a bit pedantic - it is my first real experience with SAS Macro and I just want to make sure i'm not falling for any 'rookie errors'

 

I have the following piece of code which has been written in a User written Transformation in SAS D.I studio. This code dictates that the SSRS presence macro should only run between the certain data paremeters specified.

 

Capture.JPG

 

Please can someone explain if I am making an obvious mistake with the first %SYSEVALF statement. The way it has been formatted within SAS D.I it appears that SAS is interpreting it as a new macro call, rather than the function I am trying to implement.

 

I have tried the same statment elsewhere on my job canvas and the formatting seems to change any time there is a preceeding %IF statement.

 

Thanks alot!

 

 

3 REPLIES 3
ChrisNZ
Tourmaline | Level 20

Don't pay too much attention the the color parser, it is not the smartest sometimes. If your code works then all good.

 

Regarding the test you posted, I am puzzled: Function %sysevalf() is used for floating number calculations, and you use it for a boolean value.

It is not required nor useful as you used it.

data_null__
Jade | Level 19

Consider this example where SYSEVALF get it right.

 

%let current = %sysfunc(today());
%let execution = '02OCT2015'd;

%put NOTE: &=current &=execution;
%put NOTE: %eval(&current = &execution);
%put NOTE: %sysevalF(&current = &execution);


27         %put NOTE: &=current &=execution;
NOTE: CURRENT=20363 EXECUTION='02OCT2015'd
28         %put NOTE: %eval(&current = &execution);
NOTE: 0
29         %put NOTE: %sysevalF(&current = &execution);
NOTE: 1
ChrisNZ
Tourmaline | Level 20

Hmm, fair point! I never thought of this case.

 

Thank you!

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 3 replies
  • 1960 views
  • 1 like
  • 3 in conversation