SAS - 决策制定

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

决策制定是指从可用选项中选择一个逻辑选项。在 SAS 中,决策制定有助于程序员对单个语句或一组语句应用特定条件。

决策取决于条件,即如果条件为真,则程序进入另一组条件或另一个语句,但如果条件为假,则它返回到代码的起始语句。

请看下图

SAS- Decision Making

SAS 中有三种类型的决策制定语句

  • If -Then 语句
  • If-Then-Else-If 语句
  • If-Then-Delete 语句

If?Then 语句

If-Then 语句指示 SAS 在指定条件为真时执行一个语句。让我们通过一个例子来理解它。

示例

在下面的代码中,我们提供了两个条件。第一个条件是,如果学生的成绩超过 50,则将该学生添加到 "Pass" 组中。

第二个条件是,如果学生的成绩低于 50,则将该学生添加到 "Fail" 组中。

在 SAS Studio 中执行上述代码

SAS- Decision Making

输出

SAS- Decision Making

根据上面的输出,当条件 "result>50" 为真或结果大于 50 时,它已被添加到 "Pass" 组中。当条件 "result<50" 为真或结果小于 50 时,它已被添加到 "Fail" 组中。

If-Then-Else-If 语句

If-Then-Else-If 语句 指示 SAS 在指定条件为真时执行一个语句,并在条件为假时执行语句的 else 部分。

在 else 部分,我们可以使用 If 给出另一个条件。因此,我们可以使用 If-Then-Else-If 语句给出多个条件。让我们通过一个例子来理解它。

示例

在下面的代码中,我们提供了两个条件。如果第一个条件为真,则它将执行 ifthen 部分,但如果条件为假,则它将执行代码的 elseif 部分。

在 SAS Studio 中执行上述代码

SAS- Decision Making

输出

SAS- Decision Making

根据上面的输出,大于 50 的结果已根据第一个条件添加到 "Pass" 组中,而小于 50 的结果已根据第二个条件添加到 "Fail" 组中。

IF-THEN-DELETE 语句

IF-THEN-DELETE 语句指示 SAS 在指定条件为真时执行一个语句,如果条件为假,则删除该条件之后的所有观测值。让我们通过一个例子来理解它。

示例

在下面的代码中,我们提供了一个条件。如果条件为真,则它将执行 if 部分,如果为假,则它将删除该条件之后的所有观测值。

在 SAS Studio 中执行上述代码

SAS- Decision Making

输出

SAS- Decision Making

根据上面的输出,SAS 仅显示大于 50 的结果。所有小于 50 的结果都已被删除。


下一主题SAS 函数