0

更新配列が格納されているため、配列を使用してこれを行うことはできないと言われました。これは私の質問を少し変更しますが、要点は同じです。コードを複数回繰り返すだけで、指定された値のベクトル (例: 日、週、月、年) から必要なテーブルを最も効率的に生成するにはどうすればよいですか? 指定された日付値を単純に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

悲しいことに、配列参照を何らかの形で汚しているため、これは機能しません。この一歩を踏み出すことができれば、体調は万全です。

4

1 に答える 1