SAS 循环

2025年3月17日 | 阅读 3 分钟

一般来说,程序中的语句是按顺序执行的,即首先执行程序的第一条语句,然后是第二条,以此类推。但是,有时我们需要对同一组语句执行特定次数或重复执行。在这种情况下,我们需要使用循环。

在 SAS 中,我们可以使用 Do 语句来使用循环,也称为 Do 循环

SAS 编程中使用了三种基本的循环

  • Do 循环
  • Do Until (直到型循环)
  • Do While (当型循环)

现在,让我们了解一下这些循环在 SAS 编程中的作用

Do 循环

这是 Do 循环最简单的形式。 Do 循环的作用是无条件的,这意味着如果我们指示循环执行某个语句 50 次,那么它将执行该语句 50 次,没有任何限制(除非在处理过程中发生错误)。 让我们举一个例子来理解它的工作原理。

示例

这里,我们以银行账户余额递增为例,计算在接下来的 4 次付款后账户余额为 1000 元。

假设初始账户余额为 9000,因此我们可以在下面的代码中赋值 "Balance = 9000"。

在此代码中,我们执行语句 "balance + 1000",执行 4 次,因此它将无条件地执行最多 4 次。

在 SAS Studio 中执行上述代码

SAS Loop

输出

SAS Loop

正如我们可以在输出中看到的那样,有两个变量

  • 第一个变量是 "balance",它包含 4 次付款后的账户余额,即 13000
  • 第二个变量是 "i",它显示了所有迭代完成后 i 的最终值。

Do Until (直到型循环)

第二种类型的循环是 DO UNTIL 循环。 我们可以使用此循环继续执行语句,直到条件为真。 让我们通过一个例子来理解

示例

在这里,我们将使用 DO UNTIL 循环来计算贷款的付款次数。 假设贷款总额为 30,000 元,每月付款额为 1000 元。

在 SAS studio 中执行上述代码

SAS Loop

输出

SAS Loop

根据上述输出,付款计数持续到贷款变为零。

Do While (当型循环)

第三种类型的循环是 DO WHILE 循环。 我们可以使用此循环在指定条件保持为真的情况下继续执行。 让我们通过一个例子来理解

在本例中,我们将使用 DO WHILE 循环来计算贷款的付款次数。 这里我们使用与上例相同的数据。

在 SAS studio 中执行上述代码

SAS Loop

输出

SAS Loop

根据上述输出,付款计数持续到贷款大于零或条件保持为真。

在上面描述的两个循环中,我们可以根据我们的要求使用各种逻辑和比较运算符来给出条件。

注意:我们在SAS 运算符的前一个主题中学习了这些运算符。


下一个主题SAS - 决策制定