设为首页收藏本站

EPS数据狗论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1792|回复: 0

SAS循环控制语句--DO循环

[复制链接]

15

主题

164

金钱

267

积分

入门用户

发表于 2018-8-15 15:34:31 | 显示全部楼层 |阅读模式
语法格式:
  1. DO 计数变量=起始值 TO 结束值 BY 步长;
  2. 循环体…;
  3. END;
复制代码
其中循环体由一个或多个语句构成,程序控制由计数变量被赋的起始值开始,循环体中语句每执行一次,则计数变量=计数变量+步长。重复执行循环体,直到计数变量超过指定的结束值。在循环体中可以用LEAVE语句来跳出循环,使用CONTINUE语句结束本轮循环,调整计数变量进行下一轮循环。

下面用例2-1演示以上语句的用法。

例2-1  新建包含变量x和y的数据集chap2.example2_1,x取5~30的5的倍数,y为x的自然对数值,且y的取值小于3。

编写如下两段程序分别用DO循环结合LEAVE和CONTINUE语句完成分析(程序在光盘中的存储路径为“proc\chap2\example2_1”):

  1. /*方法一:DO循环结合LEAVE语句*/
  2.     data chap2.example2_1;
  3.     do x=5 to 30 by 5;       /*设置x的起始值为5,终止值为30,步长为5*/
  4.     y=log(x);                /*取y值为x的自然对数*/
  5.     if y>3 then leave;       /*若y的值大于3则结束循环*/
  6.     output;
  7.     format y 8.5;            /*定义y的输出形式为总长度为8位,小数部分占5位*/
  8.     end;                     /*结束循环*/
  9.     /*方法二:DO循环结合CONTINUE语句*/
  10.     data chap2.example2_1b;
  11.     do x=5 to 30 by 5;       /*设置x的起始值为5,终止值为30,步长为5*/
  12.     y=log(x);                /*取y值为x的自然对数*/
  13.     if y>3 then continue;    /*若y的值大于3则跳出循环*/
  14.     output;
  15.     format y 8.5;            /*定义y的输出形式为总长度为8位,小数部分占5位*/
  16.     end;                     /*结束循环*/
复制代码
选择Run|Submit命令提交以上任意一段程序,新建数据集chap2.example2_1,如下图所示。
DO循环.jpg
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

客服中心
关闭
在线时间:
周一~周五
8:30-17:30
QQ群:
653541906
联系电话:
010-85786021-8017
在线咨询
客服中心

意见反馈|网站地图|手机版|小黑屋|EPS数据狗论坛 ( 京ICP备09019565号-3 )   

Powered by BFIT! X3.4

© 2008-2028 BFIT Inc.

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