2017年7月4日火曜日

【PROC COPY】データセットを他のライブラリに一括コピー




PROC COPYでデータセット, ビュー, カタログ等のSASデータをコピーする事が出来ます。


📝
ただし「システムオプション等の環境を変更せずに、通常のライブラリから通常のライブラリにSASデータセットをコピー」する分には問題なさそうですが、それ以外では何やら沢山の制限や注意点があるっぽいので、リファレンスをご確認下さい。



構文


   PROC COPY
       IN                =   コピー対象のライブラリ
       OUT            =   出力先のライブラリ
       MEMTYPE  =   (コピー対象のデータのタイプ) ;

       SELECT     コピー対象のデータ ;
       EXCLUDE  コピー対象外のデータ ;
   RUN;


  • MEMTYPE = には以下などが指定可(一部)
  • DATA          …    データセット
    CATALOG   …   カタログ
    VIEW          …    ビュー
  • SELECT・EXCLUDEステートメントを省略すると「MEMTYPE=」に指定したタイプの全データがコピー対象になる
  • 出力先に同名のデータが存在する場合は、上書きされる。




では例を見ていきましょう。
まずは適当にコピーするデータセットを準備。

data DT1 DT2 DT3;
  A=1;
run;



例① WORK の全データセットを MYLIB にコピー
libname MYLIB "C:\TEST";

proc copy in=WORK out=MYLIB memtype=(data);
run;


例② WORK のデータセット DT1,DT2 を MYLIBにコピー
proc copy in=WORK out=MYLIB memtype=(data);
  select DT1 DT2;
run;


例③ WORK のデータセット DT3 以外の全データセット を MYLIBにコピー
proc copy in=WORK out=MYLIB memtype=(data);
  exclude DT3;
run;


0 件のコメント:

コメントを投稿