SAS循环语句用法图解

本文概述

  • DO循环
  • DO UNTIL循环
  • DO WHILE循环
在一般编程中, 语句是按顺序执行的, 即, 程序的第一条语句首先执行, 然后第二条执行, 依此类推。但是, 在某些情况下, 我们需要执行特定次数或重复执行同一组语句。在这种情况下, 我们需要使用循环。
在SAS中, 我们可以通过使用Do Statement(也称为Do Loop)来使用循环。
SAS编程中使用了三个基本循环:
  • DO循环
  • DO UNTIL循环
  • DO WHILE循环
现在, 让我们了解SAS编程中这些循环的动作:
DO循环 这是DO循环的最简单形式。 DO循环的操作是无条件的, 这意味着如果我们指示该循环执行一条语句50次, 那么它将无限制地执行该语句50次(除非在处理过程中发生错误)。让我们举个例子来了解它的工作原理。
例:
在此, 我们以增加银行帐户余额为例, 并在接下来的4笔Rs.1000卢比之后计算帐户余额。
假设初始帐户余额为9000, 则可以在以下代码中分配” 余额= 9000″ 。
DATA account; balance = 9000; doi = 1 to 4; balance + 1000; end; run; PROC print DATA=http://www.srcmini.com/account; run;

在此代码中, 我们将语句” balance + 1000″ 执行4次, 这样它将无条件地执行多达4次。
在SAS Studio中执行以上代码:
SAS循环语句用法图解

文章图片
输出
SAS循环语句用法图解

文章图片
从输出中可以看到, 有两个变量:
  • 第一个变量是” 余额” , 其中包含4次付款后的帐户余额, 即13000。
  • 第二个变量是” i” , 它显示所有迭代完成后i的最终值。
DO UNTIL循环 第二种类型的循环是DO UNTIL循环。我们可以使用此循环继续执行语句, 直到条件变为真为止。让我们通过一个例子来理解:
例:
在这里, 我们将使用DO UNTIL循环来计算贷款的还款数量。假设贷款总额为30, 000, 还款额为Rs。 1000每月。
DATAuntil; loan = 30000; payments = 0; do until (loan = 0); loan = loan - 1000; payments = payments + 1; end; run; proc print data=http://www.srcmini.com/until; run;

在SAS Studio中执行以上代码:
SAS循环语句用法图解

文章图片
输出
SAS循环语句用法图解

文章图片
根据以上输出, 付款的计数一直持续到贷款变为零为止。
DO WHILE循环 循环的第三种类型是DO WHILE循环。当指定条件保持为真时, 我们可以使用此循环继续执行。让我们通过一个例子来理解:
在此示例中, 我们将使用DO WHILE循环来计算贷款的还款次数。在这里, 我们使用与上述示例相同的数据。
Data while; loan = 30000; payments = 0; do while(loan > 0); loan = loan - 1000; payments = payments + 1; end; run; proc print data=http://www.srcmini.com/while; run;

在SAS Studio中执行以上代码:
SAS循环语句用法图解

文章图片
输出
SAS循环语句用法图解

文章图片
根据以上输出, 付款的计数一直持续到贷款大于零或条件成立为止。
【SAS循环语句用法图解】在上述两个循环中, 我们可以通过使用各种逻辑运算符和比较运算符来根据需要给出条件。
注意:我们已经在SAS Operator的上一主题中学习了这些运算符。

    推荐阅读