Question

I want to change any instances of a period in a macro variable to underscore. What am I doing wrong?

%let pow=0.1;
%let x = %sysfunc(tranwrd(&pow,".","_"));
%put x=&x;

Output:

x=0.1

Was it helpful?

Solution

No quotes in a %sysfunc, unless you mean the quote character. (Translate would have hidden the issue, at least, but TRANWRD was looking at &pow and trying to find "." and failing.)

%let pow=0.1;
%let x = %sysfunc(tranwrd(&pow,.,_));
%put x=&x;
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top