楼主: caibirdcnb
1293 4

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

  • 0关注
  • 36粉丝

讲师

47%

还不是VIP/贵宾

-

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

+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

使用道具

不错,又学习了

使用道具

报纸
caibirdcnb 发表于 2012-4-5 18:35:48 |只看作者 |坛友微信交流群
学习了,goldbaodi ,非常有用,非常感谢!

使用道具

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

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

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

GMT+8, 2024-4-28 11:13