首页 > 解决方案 > 为什么以下查询的输出有效,一:8 和 work.two:5?

问题描述

为什么以下查询的输出有效,一:8 和 work.two:5?

DATA INPUT;
        INPUT VAR1 :$10. VAR2 :$10.;
         DATALINES;
         A one
         A two
         B three
         C four
         A five
         ;
         RUN;

data WORK.ONE WORK.TWO;
 set WORK.INPUT;
 if Var1='A' then output WORK.ONE;
 output;
run;

标签: sas

解决方案


根据声明的SAS 文档OUTPUT

没有参数

使用不带参数的 OUTPUT 会导致将当前观察写入在 DATA 语句中命名的所有数据集。

所以最后的output;语句写入语句中指定的所有数据集data——在这种情况下,onetwo. 记录A将根据该if Var1='A' then output WORK.ONE;行第二次写入。


推荐阅读