在Proc中解释WHERE =

时间:2016-09-20 13:54:23

标签: sas

将SAS代码转换为基于Sql的进程。遇到这个非常简单的片段。

         proc freq data=temp1(where=(SAMERETAIL='Y')) noprint;
         tables RETAILER*store/list nocum nopercent out=retailer_list;
         run;

我对此的解释是:

      From Temp1:
       Choose all observations which fit the criteria (sameretail=Y)
       Extract Retail, Store frequency counts:
                     Store       Retailer       Count(*)

       Output to Retailer_List.

我的问题是WHERE =。这适用于Proc或Data吗?我的解释是否正确?这是不正确的,因为我们只是用flag = Y来限制记录。因此问题。 有什么指针吗? 非常感谢任何帮助。

TIA。

1 个答案:

答案 0 :(得分:0)

where=将应用于您正在提取观察数据集以在proc freq中使用。 SUGI 24的工作原理summary很好(见第3页)。

  

数据集选项的位置

     

WHERE数据集选项的语法,称为   WHERE =,是标准数据集的组合   选项括号和where-expression。