楼主: yanan9256
4224 6

[原创博文] 请教:可以在变量名中引入循环变量吗?可以的话如何实现? [推广有奖]

  • 1关注
  • 0粉丝

硕士生

72%

还不是VIP/贵宾

-

威望
0
论坛币
145 个
通用积分
0.1200
学术水平
3 点
热心指数
6 点
信用等级
2 点
经验
6980 点
帖子
145
精华
0
在线时间
196 小时
注册时间
2008-10-12
最后登录
2018-9-5

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
如题 请指教啊

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

扫码加我 拉你入群

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

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

关键词:如何实现 请指教 如何 程序

沙发
jackbt123 发表于 2012-3-11 10:15:15 |只看作者 |坛友微信交流群
不知道这是不是你所要的。希望有帮助。
%macro test;
%do i = 1 %to 3;
data test_&i;
a&i = &i;
run;
%end;
%mend;
%test;

使用道具

藤椅
yanan9256 发表于 2012-3-11 22:47:45 |只看作者 |坛友微信交流群
jackbt123 发表于 2012-3-11 10:15
不知道这是不是你所要的。希望有帮助。
%macro test;
%do i = 1 %to 3;
宏程序中写的语句和 data步写的没啥差别吧?

使用道具

板凳
bobguy 发表于 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;

使用道具

报纸
josephwen 发表于 2012-3-12 04:28:05 |只看作者 |坛友微信交流群
为什么不用数组呢?

使用道具

地板
yanan9256 发表于 2012-3-12 09:20:45 |只看作者 |坛友微信交流群
bobguy 发表于 2012-3-12 03:41
You can declare a reference array. Here is an example.

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

使用道具

7
yanan9256 发表于 2012-3-12 09:21:17 |只看作者 |坛友微信交流群
josephwen 发表于 2012-3-12 04:28
为什么不用数组呢?
我想程序化这个东西,因为我的变量的个数是会变动的,所以我想引用宏变量,不改程序的内容,修改宏变量的取值就可以完成我要作的工作,所以有此一问 这也是我没有考虑数组的原因 因为我每次都要定义数组内的变量名

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-13 04:22