Hi,
running the following code:
%macro boh;
data _null_;
a="aaaaBIANNUAL";
b="BIANNUAL";
q=index(a,b);
w=index(a,trim(b));
put q= w=;
run;
%put %index("aaaaBIANNUAL", %trim("BIANNUAL")) ;
%mend;
%boh;
I get this result:
q=5 w=5
0
it semmes that the function index work in two different way if used in a data step or in a macro (in the datastep in a correct wat, in the macro does not work)
Does someone know the reason?
Many thanks.
Bye
Antonio
take the quotes out of the %put statement and try again.
Message was edited by: Peter Crawford Should clarify the statement to change
Macro functions generally are text manipulators and do NOT require the quotes to distinguish between variable names and string literals as in a datastep. If you put a quote in any of the argument strings it is treated as being a part of the string. So "BIANNUAL" is not part of aaaaBIANNUAL in any way.
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
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.