BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
robm
Quartz | Level 8

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

1 ACCEPTED SOLUTION

Accepted Solutions
BrunoMueller
SAS Super FREQ

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

View solution in original post

2 REPLIES 2
BrunoMueller
SAS Super FREQ

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

Astounding
PROC Star

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

sas-innovate-2026-white.png



April 27 – 30 | Gaylord Texan | Grapevine, Texas

Registration is open

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!

Register now

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 1636 views
  • 1 like
  • 3 in conversation