楼主: tangb
3963 16

[原创博文] 怎样正常退出SAS和安排带大循环的主程序? [推广有奖]

  • 30关注
  • 0粉丝

svip1

教授

12%

(VIP/贵宾)二级

49%

威望
0
论坛币
11137 个
通用积分
0
学术水平
3 点
热心指数
5 点
信用等级
0 点
经验
13207 点
帖子
437
精华
0
在线时间
1900 小时
注册时间
2009-8-27
最后登录
2024-4-8

200论坛币
程序是个年的日交易的统计数据。程序已经把日的交易搞完了。需要在最前面做一个年的循环作为主程序。调用所有的日计算程序。但是我发现一个问题,我怎样来安排这个主程序和日程序的调用关系。link 加一个非常遥远的return 吗?还是把一个end 语句 放在100行的程序以外,貌似没可读性。请教达人?

最佳答案

horace_chen 查看完整内容

可以使用宏。 把处理日交易的多个data 步写成宏加到主程序,这样程序的可读性更强,修改也方便。 我对DATA sample.F 的理解是: 当i=1,num ^= k时,把数据集sample.E的第1至totobs条数据输出到sample.F; 当i=2,num ^= k时,把数据集sample.E的第2至totobs条数据输出到sample.F; ...... 不知道LZ是不是需要这样的数据集?
关键词:大循环 主程序 RETURN turn 计算程序 return 大循环 主程序 统计

本帖被以下文库推荐

沙发
horace_chen 发表于 2009-8-28 09:31:06 |只看作者 |坛友微信交流群
可以使用宏。

把处理日交易的多个data 步写成宏加到主程序,这样程序的可读性更强,修改也方便。

我对DATA sample.F 的理解是:
    当i=1,num ^= k时,把数据集sample.E的第1至totobs条数据输出到sample.F;
    当i=2,num ^= k时,把数据集sample.E的第2至totobs条数据输出到sample.F;
......
不知道LZ是不是需要这样的数据集?

使用道具

藤椅
horace_chen 发表于 2009-8-28 10:10:25 |只看作者 |坛友微信交流群
没看懂LZ的意思

使用道具

板凳
tangb 发表于 2009-8-28 10:32:20 |只看作者 |坛友微信交流群
我想把一个简单的双循环作为主程序,从一个365天的数据表中拆除一天的数据。然后计算这一天的情况,计算完毕,我放入一个总结表里,在通过外循环找出另外一天的数据,在运算一次,往复365次。

Data sample.F(drop=k);
do k=1 to 365;
do i=1 to totobs;
set sample.E point=i nobs= totobs;
if num ^= k then output;
end;
link ok;

end;
stop;
run;

ok: 这里是处理日交易的许多个data 步。
return;

可以这样安排吗?

使用道具

报纸
tangb 发表于 2009-8-28 10:32:41 |只看作者 |坛友微信交流群
似乎是不行。

使用道具

地板
tangb 发表于 2009-8-28 11:20:13 |只看作者 |坛友微信交流群
是不是要用宏呢?

使用道具

7
sushe1527 发表于 2009-8-28 11:24:55 |只看作者 |坛友微信交流群
都用到link了 俺都不知道 俺回家看书去

使用道具

8
tangb 发表于 2009-8-28 11:28:57 |只看作者 |坛友微信交流群
哥们!帮帮忙给各思路吧!好像要用宏调用。我都把一天的数据处理写完了。后来发现sas这劳什子真是麻烦。最后的难题了!

使用道具

9
tangb 发表于 2009-8-28 11:30:56 |只看作者 |坛友微信交流群
宏是不是可以避免 这个所谓 ‘data 步的嵌套。

使用道具

10
horace_chen 发表于 2009-8-28 11:36:33 |只看作者 |坛友微信交流群
%macro sample;
  %do k=1 %to 365;
  Data sample.F(drop=k);
       do i=1 to totobs; /*这个嵌套似乎可以去掉,set默认循环*/
           set sample.E point=i nobs= totobs;
           if num ^= k then output;
       end;
   run;  
   处理日交易的许多个data 步;
   %end;
%mend;

%sample;

使用道具

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

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

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

GMT+8, 2024-4-28 05:46