500 株のティッカーを含む Excel ファイルがあります。大きな SAS データセットから、各株のリターンと追加の観察結果を抽出したいと考えています。たとえば、20 株のティッカーの場合、次のようにします。
data s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20;
set tick;
if stock='DIS' then output s1;
if stock='AA' then output s2;
if stock='QCOM' then output s3;
if stock='FB' then output s4;
if stock='AMGN' then output s5;
if stock='AMZN' then output s6;
if stock='AXP' then output s7;
if stock='NWS' then output s8;
if stock='INTC' then output s9;
if stock='KRFT' then output s10;
if stock='CB' then output s11;
if stock='CELG' then output s12;
if stock='CMCSA' then output s13;
if stock='COST' then output s14;
if stock='CSCO' then output s15;
if stock='YHOO' then output s16;
if stock='DELL' then output s17;
if stock='VOD' then output s18;
if stock='DOW' then output s19;
if stock='EBAY' then output s20;
run;
ここで、tick
SAS データセットには株式リターンの母集団全体が含まれています。
次に、s1、s2....s20 ごとに、ループを使用して 20 の異なるファイル間で反復し、追加の SAS コードを適用します。
if stock='COST' then output s14;
たとえば、各ティッカーに一連の SAS コードを適用する必要がある場合などに、SAS コードが 500 行でいっぱいになるのを避けたいと考えています。
Excel ファイルの各行を通過する SAS ループを作成する方法はありますか。たとえば、最初のティッカーを選択し、SAS データセットを作成してs1
から、SAS コードをこのs1
ファイルに適用します。ループの一番上で、Excel の 2 行目 (したがって 2 番目のティッカー) を選択し、プロセスを繰り返しますか?