全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4427 6
2012-03-11
如题 请指教啊

例如 do i=1 to 3 i是循环变量
变量有a1,a2,a3 我想在程序中 将变量名中的数字用循环变量表示 可以这样处理吗?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2012-3-11 10:15:15
不知道这是不是你所要的。希望有帮助。
%macro test;
%do i = 1 %to 3;
data test_&i;
a&i = &i;
run;
%end;
%mend;
%test;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-3-11 22:47:45
jackbt123 发表于 2012-3-11 10:15
不知道这是不是你所要的。希望有帮助。
%macro test;
%do i = 1 %to 3;
宏程序中写的语句和 data步写的没啥差别吧?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-3-12 03:41:30
You can declare a reference array. Here is an example.

data t1;
  a=1; b=2; c=3;
  x1=6; x2=7; x3=8;
run;

data t2;
   set t1;
   array cnst(*) a b c;
   array v(*) x1 x2 x3;
   do i=1 to dim(cnst);
     cnst[i]=cnst[i]+5;
   end;
  do i=1 to dim(v);
     v[i]=v[i]-5;
   end;
run;

proc print;run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-3-12 04:28:05
为什么不用数组呢?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-3-12 09:20:45
bobguy 发表于 2012-3-12 03:41
You can declare a reference array. Here is an example.

data t1;
我想程序化这个东西,因为我的变量的个数是会变动的,所以我想引用宏变量,不改程序的内容,修改宏变量的取值就可以完成我要作的工作,所以有此一问 这也是我没有考虑数组的原因 因为我每次都要定义数组内的变量名
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群