SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 620|回复: 3
打印 上一主题 下一主题

请教宏参数问题

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2009-9-17 15:53:41 | 只看该作者

请教宏参数问题

我已经编好了一段程序,里面有一个宏参数,我想给宏参数赋值,自5开始一直加5到50,请问应该如何做?谢谢!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2009-9-17 17:16:41 | 只看该作者

Re: 请教宏参数问题

[code:33xakah0]%macro test;
        %do i=5 %to 50 %by 5;
                %put NOTE- *** &i ***;
        %end;
%mend;

%test[/code:33xakah0]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2009-9-17 21:28:24 | 只看该作者

Re: 请教宏参数问题

谢谢楼上的热心解答 ,我还想请问下,我现在宏参数有两个,和一个数组相关,这个数组的第一排是从40加到120,中间以10为单位;第二排是5到50,以5为单位。第一排和第二排任意各取一个,然后将值赋给两个宏参数,应该如何处理呢?
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2009-9-17 22:36:33 | 只看该作者

Re: 请教宏参数问题

[code:3bju2iiq]%macro test(x,y);
        %put MACRO PUT:     *** X=&x ,Y=&y ***;
        %put *********************************;
%mend;

data _null_;
        array arr{2,9} _temporary_ (40 50 60 70 80 90 100 110 120
                                                                5 15 20 25 30 35 40 45 50);
        a=put(arr(1,ceil(9*ranuni(0))),8.);
        b=put(arr(2,ceil(9*ranuni(0))),8.);
        put '*********************************';
        put 'DATA STEP PUT: *** A=' a ',B=' b '***';
        call execute('%test('||a||','||b||')');
run;[/code:3bju2iiq]
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-2-6 00:49 , Processed in 0.082498 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表