こんにちは!しなもんです。
不要な中間データなどを削除する方法を備忘録としてまとめておきます。
こんな方におすすめ
- SASでデータのクレンジングや分析を行う人
- SASでデータの扱いを学びたい人
他にも方法はあると思いますが、本記事では3つご紹介したいと思います。
データセット1つずつ削除
DELETEプロシジャでデータセット名を1つずつ指定して削除する方法です。
Ex.WORKライブラリのa,b,cのデータセットを削除
PROC DELETE DATA=WORK.a WORK.b WORK.c;
RUN;
特定のライブラリのデータセットを全て削除
Ex.mylibライブラリのデータを全て削除
PROC DELETE DATA=mylib._ALL_;
RUN;
指定のデータセットを残して削除
PROC DATASETSの「SAVEステートメント」で指定のデータセットを残して他は全て削除できます。
Ex.WORKライブラリのa,b,cのデータセットのうち、a以外を削除
PROC DATASETS LIB=WORK nolist memtype=data;
SAVE a;
QUIT;
データセット名を指定して削除
Ex.アンダースコアから始まるデータセットを削除
PROC DATASETS LIB=work;
DELETE _ : ; /* アンダースコアから始まるデータセットを一括削除 */
QUIT;
「:」(コロン)で前方一致でデータセットを指定することができます。
まとめ
よく使用するのはデータセットを1つずつ削除するまたはデータセット名を指定して削除する方法のどちらかと思います。個人的にはデータセット名を指定して削除する方法を好みますが、データセットの命名規則を決めて置かないと削除したくないデータも削除される可能性がありますので注意が必要です。