Can I use all datastep function in macro using %sysfunc??
OR do we have limited function where I can use with %sysfunc??
Please help
There are exceptions. Please see the list of "SAS Functions Not Available with %SYSFUNC and %QSYSFUNC" in the documentation.
A more important question than "do we have limited function where I can use with %sysfunc?", is when is it a good idea to go down that route. Sysfunc is a great command, and useful in many situations, but if you find your using it a lot, then you may want to look at your code and see if it can be written in such a way as to be more readble. To often things like:
%sysfunc(intnx(%sysfunc(input(...),%sysfunc(...
is used just to squeeze normal Base SAS code into macro form. I rarely come across situations where base SAS cannot do something far simpler, and easier to read.
There are limited SAS functions that can be used with %sysfunc, and there are also macro specific functions you can use without the %sysfunc. I would suggest looking at the documentation that has been provided to determine which function you want and if it's already a macro function, or if you can use it inside a %sysfunc.
Would it be possible to elaborate on what you are trying to accomplish with the function ?
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.
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.
Ready to level-up your skills? Choose your own adventure.