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 ?
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.