更新配列が格納されているため、配列を使用してこれを行うことはできないと言われました。これは私の質問を少し変更しますが、要点は同じです。コードを複数回繰り返すだけで、指定された値のベクトル (例: 日、週、月、年) から必要なテーブルを最も効率的に生成するにはどうすればよいですか? 指定された日付値を単純にINTX
ループに置き換える方法はありますか?
わかりました、これがこの件に関する私の最後の質問です、約束します。いくつかの良いアドバイスの後、私はINTX
関数を使用しています。ただし、選択したさまざまなカテゴリをループしてテーブルを作成したいと思います。私はこれを試しましたが、役に立ちませんでした。
data;
array period [*] $ day week month year;
run;
%MACRO sqlloop;
proc sql;
%DO k = 1 %TO dim(&period); /* in case i decide to drop/add from array later */
%LET bucket = &period[&k];
CREATE TABLE output.t_&bucket AS (
SELECT INTX( "&bucket.", date_field, O, 'E') AS test FROM table);
%END
quit;
%MEND
%sqlloop
悲しいことに、配列参照を何らかの形で汚しているため、これは機能しません。この一歩を踏み出すことができれば、体調は万全です。