将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。
答案 0 :(得分:0)
where=
将应用于您正在提取观察数据集以在proc freq
中使用。 SUGI 24的工作原理summary很好(见第3页)。
数据集选项的位置
WHERE数据集选项的语法,称为 WHERE =,是标准数据集的组合 选项括号和where-expression。