Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops 如何在SAS循环中引用i_Loops_Sas - Fatal编程技术网

Loops 如何在SAS循环中引用i

Loops 如何在SAS循环中引用i,loops,sas,Loops,Sas,假设我有这个代码: data Work.dataset; do i = 3 to 7; %let mname = text; %let mname = &mname.i; end; run; 我想要中的I%let mname=&mname.I指的是i=3到7,而不是字母i。我怎样才能做到这一点 我想问的真正问题是:我想找出一种方法来做到这一点。这个问题试图解决更大问题的一部分。您不能使用%let在数据步骤中,使用call symput 这样效果更好。我希望这是你想要的

假设我有这个代码:

data Work.dataset;
do i = 3 to 7;
    %let mname = text;
    %let mname = &mname.i;
end;
run;
我想要
中的
I
%let mname=&mname.I
指的是
i=3到7
,而不是字母
i
。我怎样才能做到这一点


我想问的真正问题是:我想找出一种方法来做到这一点。这个问题试图解决更大问题的一部分。

您不能使用
%let
在数据步骤中,使用call symput

这样效果更好。我希望这是你想要的

data Work.dataset;

    do i = 3 to 7;
        mname1 = 'text';
        mname2 = mname1||put(i,1.);
        call symput('mname3',mname2);
        put mname2;
        output;
    end;
run;

%put mname3=&mname3;

你想做什么?你能不能说得更清楚一点,你的代码没有多大意义你真正的问题已经回答了。