楼主: caibirdcnb
1499 4

[问答] 请问高手字符串怎么转换为变量?谢谢! [推广有奖]

  • 0关注
  • 37粉丝

讲师

47%

还不是VIP/贵宾

-

威望
0
论坛币
1367 个
通用积分
16.5538
学术水平
67 点
热心指数
70 点
信用等级
64 点
经验
6762 点
帖子
206
精华
2
在线时间
433 小时
注册时间
2011-8-31
最后登录
2023-9-23

楼主
caibirdcnb 发表于 2012-4-4 15:39:57 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
data test;
        X=0;
        Y=1;
        Z=2;
        PRM1='X Y Z';
        do i=1 to 3;
                call symput(scan(PRM1,i),【此处需要根据循环分别得到X Y Z的数值0 1 2】);
        end;
run;

请问高手上面方括号里面应该怎么填才能得到X Y Z这3个宏变量,并且分别赋值0 1 2。非常感谢!
(请不要使用其它方法实现,因为这只是个例子,实际中比较复杂)

二维码

扫码加我 拉你入群

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

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

关键词:字符串 symput Data scan call 字符串

沙发
goldbaodi 发表于 2012-4-5 02:11:05
不知如下是否是LZ想要:

data test1;
   X=0;
    Y=1;
    Z=2;
array a(3) x y z;
PRM1='X Y Z';
do i=1 to 3;
call symput(scan(PRM1,i),a(i));
end;
run;

data test2;
    X=3;
    Y=4;
    Z=5;
array a(3) x y z;
PRM1='X Y Z';
do i=1 to 3;
call symput(scan(PRM1,i),a(i));
end;
run;

藤椅
goldbaodi 发表于 2012-4-5 02:15:24
run test1  后
%put _user_;

Results:

GLOBAL X            0
GLOBAL Y            1
GLOBAL Z            2

板凳
chendonghui1987 发表于 2012-4-5 10:39:23
不错,又学习了

报纸
caibirdcnb 发表于 2012-4-5 18:35:48
学习了,goldbaodi ,非常有用,非常感谢!

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-31 18:36