Hi,
I'd like to store the project name from my project path into a macro variable...
For example, let say my path is '/myprojectpath/filename'. I want to store the macro variable 'filename'.
Here is the macro that I have started to develop, without success :
%macro prgname; %let s = &_CLIENTPROJECTPATH.; %let delims = '\'; %let n = %sysfunc(countw(&s, &delims)); %let words = %sysfunc(scan(&s, 1:&n, &delims)); %mend prgname;
Could you highlight me ?
Thanks for your attention.
Clément
The scan function has an option to start searching from the end of the string, called "B". Or you could use a negative number as second argument, so something like
%let cpp = %sysfunc(dequote(&_ClientProjectPath));
%let words = %sysfunc(scan(&cpp, -1, %str(\)));
should work.
Ok,
I think I have a better code than the previous one but still does not work...
%let fname = %sysfunc(scan(&_CLIENTPROJECTPATH,-1,"\")); %put &fname;
Any ideas ?
The scan function has an option to start searching from the end of the string, called "B". Or you could use a negative number as second argument, so something like
%let cpp = %sysfunc(dequote(&_ClientProjectPath));
%let words = %sysfunc(scan(&cpp, -1, %str(\)));
should work.
Thank you Andreas,
It works perfectly !
%let name=%sysfunc(tranwrd(&_CLIENTPROJECTNAME,&_CLIENTPROJECTPATH,));
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
Check out this tutorial series to learn how to build your own steps in SAS Studio.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.