和和+之间的差异?

时间:2013-10-08 17:32:56

标签: sum sas

data whatever;
 infile '';
 input price cost;
 <statement>;
run;

<statement>中,使用total = sum(total,cost)total = total + cost之间的区别是什么?

2 个答案:

答案 0 :(得分:2)

如果您在input语句之后实际包含它,那么您可能遇到任何一个问题。

ProgramFOX发布的信息是正确的,但是如果你在询问这三个陈述之间的区别,那还有一点:

total = sum(total,cost);
total + cost;

其中第二个意味着retain total;语句,并且还将空值视为零。当您使用这种类型的表达式时,您会遇到null问题:

total = total + cost;

答案 1 :(得分:2)

差异可以在下面看到:

如果要计算累计总数,则应使用sum语句。

总计=总和(总计,费用)/ *它是一个和函数* /

总+成本/ *是一个sum语句,表单是变量+表达式* /

这里:

“total”指定累加器变量的名称,该变量包含数值。

1)在SAS读取第一个观察结果之前,变量(在这种情况下为总数)自动设置为0。变量的值从一次迭代到下一次迭代保留,就像它出现在RETAIN语句中一样。

2)要将sum变量初始化为0以外的值,请将其包含在具有初始值的RETAIN语句中。

“费用”是一个表达式

1)计算表达式并将结果添加到累加器变量。

2)SAS将产生缺失值的表达式视为零。

sum语句与sum函数的不同之处在于sum语句保留了之前计算的值。

然而, sum语句等同于使用SUM函数和RETAIN语句,如下所示:

retain total 0;
total=sum(total,cost);
相关问题