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.
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!
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.
Consider this example where SYSEVALF get it right.
%let current = %sysfunc(today());
%let execution = '02OCT2015'd;
%put NOTE: &=current &=execution;
%put NOTE: %eval(¤t = &execution);
%put NOTE: %sysevalF(¤t = &execution);
27 %put NOTE: &=current &=execution;
NOTE: CURRENT=20363 EXECUTION='02OCT2015'd
28 %put NOTE: %eval(¤t = &execution);
NOTE: 0
29 %put NOTE: %sysevalF(¤t = &execution);
NOTE: 1
Hmm, fair point! I never thought of this case.
Thank you!
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.