I tried this
%macro getserver;
%LET x=index(&_srvname, "uview");
%IF x > 0 %THEN %LET server=https://&_srvname&_url; %ELSE %LET server=http://&_srvname:&_srvport&_url;
%mend;
x seems to evaluate to "index(sas2.domain.com,"uview");" how would I get it to evaluate to a numeric value
Since you are using the macro language you also have to use macro functions like %INDEX
Please note, that in the macro language you do not need the quotes around text. So your example would look like:
%LET x = %index(&_srvname, uview);
Bruno
Since you are using the macro language you also have to use macro functions like %INDEX
Please note, that in the macro language you do not need the quotes around text. So your example would look like:
%LET x = %index(&_srvname, uview);
Bruno
Building upon what Bruno has mentioned ...
Once you follow his advice, you would need to change the way you refer to the macro variable X by adding an ampersand:
%if &X > 0 %then ...
Alternatively, just get rid of X entirely:
%if %index(&_srvname, uview) > 0 %then ...
Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.
Register today!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.
Select SAS Training centers are offering in-person courses. View upcoming courses for: