2016-09-20 6 views
0

SASコードをSQLベースのプロセスに変換します。このかなり簡単なスニペットを見てきました。WHERE = in Procの解釈

  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に適用されますか?私の解釈は正しいのですか?私たちがフラグ= Yでレコードを制限しているだけなので、これは間違っています。したがって、疑問。 ポインタはありますか? 何か助けていただければ幸いです。

TIA。

答えて

0

where=は、proc freqで使用する観測値を引き出しているデータセットに適用されます。 SUGI 24はこれがどのように機能するかについてはsummaryです(3ページを参照)。

データセットOPTION

データセットオプションの構文は、=、標準データの組み合わせであるが オプション括弧どこ発現を設定 と呼ばれます。

+0

ありがとうございます。これは、Where =で指定された基準を使用してデータをフィルタリングすることを意味し、proc freqはその頻度分布を計算します。 – Bee

+0

うん、そうだよ! – superfluous