1

我正在尝试使用 Proc Format 语句的乘积作为 %sysfunc 语句中的格式,如下所示:

proc format;
value myvar
1 = "One" 2 = "Two" 3 = "Three" 4 = "Four";
run;

%let i = 1;

%let dvar = %sysfunc(putc(&i, $myvar.));
%put &dvar;

但是我不断收到帖子标题中的错误:

WARNING: Argument 2 to function PUTC referenced by the %SYSFUNC or %QSYSFUNC macro function is out of range.

谁能告诉我这是为什么?

谢谢

4

1 回答 1

2

这最终对我有用:

proc format;
value myvar
1 = "One" 2 = "Two" 3 = "Three" 4 = "Four";
run;

%let i = 1;

%let dvar = %sysfunc(putn(&i, myvar.));
%put &dvar;

谢谢

于 2014-11-20T23:48:12.390 回答