マスターデータセットに連結したいのと同じ変数(n <1000、通常はn <100)を持つ200kを超える小さなデータセットがあります。データステップを使用してすべての新しいデータセットを反復処理し、「set master new:」を使用してマスターと連結するマクロを使用してみましたが、これには非常に長い時間がかかります。また、同時に実行しようとすると、call execute dataステップは、巨大なサーバーボックスのメモリが不足していることを示します。参考までに、すべての小さなデータセットは合わせて5ギガ強です。任意の提案をいただければ幸いです。これが私がこれまでに持っているものです:
%macro catDat(name, nbr) ;
/*call in new dataset */
data new ;
set libin.&name ;
run ;
/* reorder names */
proc sql noprint;
create table new as
select var1, var2, var3
from new;
quit;
%if &nbr = 1 %then %do ;
data master;
set new;
run;
%end;
%if &nbr > 1 %then %do ;
data master;
set master new ;
run;
%end ;
%mend;
/* concatenate datasets */
data runthis ;
set datasetNames ;
call execute('%catdat('||datasetname||','||_n_||')');
run;
解決済み:以下のボブのコメントを参照してください。