本文概述
- DO循环
- DO UNTIL循环
- DO WHILE循环
在SAS中, 我们可以通过使用Do Statement(也称为Do Loop)来使用循环。
SAS编程中使用了三个基本循环:
- DO循环
- DO UNTIL循环
- DO WHILE循环
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中执行以上代码:
文章图片
输出
文章图片
从输出中可以看到, 有两个变量:
- 第一个变量是” 余额” , 其中包含4次付款后的帐户余额, 即13000。
- 第二个变量是” i” , 它显示所有迭代完成后i的最终值。
例:
在这里, 我们将使用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中执行以上代码:
文章图片
输出
文章图片
根据以上输出, 付款的计数一直持续到贷款变为零为止。
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 Operator的上一主题中学习了这些运算符。
推荐阅读
- App,多端-uniapp
- SAS中的交叉制表详细图解
- SAS条件语句用法详细图解
- SAS频率分布用法图解
- SAS数据集的用法详细图解
- 什么是SAS算术平均值(详细图解)
- SAS数组用法详细图解
- SAS-SQL详细操作图解
- SAS数据集的子设置详细图解