【发布时间】:2015-08-18 15:30:12
【问题描述】:
假设我们有 SAS 代码:
data t1 (keep=KEY COUNT C_AMT2 C_AMT);
SET t1;
BY key;
RETAIN COUNT C_AMT;
IF FIRST.KEY THEN
DO;
COUNT=0;
C_AMT2=0;
END;
COUNT+1;
C_AMT=SUM(C_AMT2, C_AMT);
IF LAST.KEY THEN
OUTPUT;
RUN;
如果我要删除“IF LAST.KEY THEN OUTPUT;”,这里会有什么变化。 documentation 表示输出导致 SAS 立即写入数据步,而不是在数据步结束时。因为这里是在数据步骤结束之前,这是否意味着删除它不会造成任何差异?
【问题讨论】:
-
C_AMT2 在 first.KEY 语句中设置为 0 的事实有点奇怪,如果这是一个运行总数,我希望它是 C_AMT。
标签: sas