📅  最后修改于: 2021-01-08 14:29:36             🧑  作者: Mango
决策是从可用选项中选择一个逻辑选项的想法。在SAS中,决策制定可以帮助程序员将特定条件应用于单个语句或一组语句。
考虑下图:
SAS中有三种类型的决策声明:
如果指定条件为真,则If-Then语句指示SAS执行一条语句。让我们通过示例来理解它。
在下面的代码中,我们提供了两个条件。第一个条件是,如果学生的成绩超过50,则将该学生添加到“通过”组中。
第二个条件是,如果学生的成绩小于50,则将该学生添加到“失败”组中。
Data student;
input result;
if result>50 then group = "Pass";
if result<50 then group = "Fail";
datalines;
80
34
56
51
72
37
45
49
67
90
;
run;
proc print data=student;
run;
在SAS Studio中执行以上代码:
输出:
根据以上输出,当条件“ result> 50 ”为真或结果大于50时,已将其添加到“通过”组。当条件“ result <50 ”为真或结果小于50时,它已添加到“失败”组中。
如果指定的条件为true,则If-Then-Else-If语句指示SAS执行一条语句;如果条件为false,则指示SAS执行语句的else部分。
在其他部分,我们可以使用If给出另一个条件。因此,我们可以使用If-Then-Else-If语句给出多个条件。让我们通过一个例子来理解它。
在下面的代码中,我们提供了两个条件。如果第一个条件为true,则将在ifthe部分中执行,但如果条件为false,则将在elseif部分中执行。
Data student;
input result;
if result>50 then group = "Pass";
else if (result<50) then group = "Fail";
datalines;
80
34
56
51
72
37
45
;
run;
proc print data=student;
run;
在SAS Studio中执行以上代码:
输出:
根据以上输出,已将大于50的结果按第一个条件添加到“通过”组,而小于50的结果已将按第二个条件添加到“失败”组。
如果指定条件为真,则IF-THEN-DELETE语句指示SAS执行语句,如果条件为假,则在条件为假后删除所有观察值。让我们通过一个例子来理解它。
在下面的代码中,我们提供了一个条件。如果条件为真,那么它会执行,如果一部分,如果是假的,那么它将后病情是假删除所有的意见。
Data student;
input result;
if result<50 then delete;
datalines;
80
34
56
51
72
37
45
98
;
run;
proc print data=student;
run;
在SAS Studio中执行以上代码:
输出:
根据以上输出,SAS仅显示大于50的结果。所有小于50的结果均已删除。