楼主: 小鳄鱼a
1371 2

如何定义一系列的宏变量 [推广有奖]

  • 6关注
  • 10粉丝

已卖:280份资源

学科带头人

3%

还不是VIP/贵宾

-

威望
0
论坛币
125 个
通用积分
0.0040
学术水平
40 点
热心指数
45 点
信用等级
43 点
经验
32801 点
帖子
1185
精华
0
在线时间
1539 小时
注册时间
2009-7-16
最后登录
2018-10-5

楼主
小鳄鱼a 发表于 2014-10-3 05:35:54 |AI写论文
20论坛币

data a;
input x y;
cards;
1 2
2 8
3 9
4 2
5 6
6 9
7 8
8 3
9 4
;
run;
现在想定义一连串宏变量xi,取值为当x=1的时候,x1=1,当x=2的时候,x2=2
知道用利用call symput ,具体不晓得怎么写,求指点

最佳答案

caibirdcnb 查看完整内容

data _null_; set a; call symput('x'||compress(x),compress(x)); run; %macro test; %do i=1 %to 9; %put &&&x&i; %end; %mend; %test 楼主试试这个。
关键词:symput cards Input Data card 如何

沙发
caibirdcnb 发表于 2014-10-3 05:35:55
data _null_;
set a;
call symput('x'||compress(x),compress(x));
run;
%macro test;
%do i=1 %to 9;
%put &&&x&i;
%end;
%mend;
%test


楼主试试这个。
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
小鳄鱼a + 5 + 3 + 3 + 3 精彩帖子

总评分: 论坛币 + 5  学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

藤椅
小鳄鱼a 发表于 2014-10-8 12:45:57
caibirdcnb 发表于 2014-10-3 05:35
data _null_;
set a;
call symput('x'||compress(x),compress(x));
谢谢,不好意思,回复晚了。请问 %put &&&x&i;   为什么前面要加 三个&&   加一个不就可以了吗

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

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