2017年10月27日金曜日

テキストファイル(CSVなど)への出力【EXPORTプロシジャ編】



注意点を先に、、

  • テキストファイルへの出力に限定した説明になります
他の形式で今回のプログラムを流用すると、重要なオプションが効かなかったり、そもそも動作しない等の可能性あり

 

  • とにかく想定外の結果になりやすいので、出力したテキストファイルは要確認です
例えば、変数値にセル内改行があると、出力したテキストファイルにも改行が入っておかしな出力結果になったり、
変数値に含まれる先頭の半角スペースが出力したテキストでは削除されてしまったり、 
稀ですが、1レコードに書き込み可能な文字の長さの制限を超えると、超えた部分の変数値が出力されなかったりとか、とにかく色々な失敗例を聞きます。

   


構文

PROC EXPORT
   DATA                =     出力データセット
   OUTFILE          =     "作成するテキストファイル"    /* パスが長いと実行失敗します */
   DBMS               =     CSV | TAB | DLM   /* ファイル種類 */
   REPLACE                /* 既存のテキストファイルを上書く */
   LABEL                      /*  ヘッダーに変数名ではなく変数ラベルを適用 */
   ;
   DELIMITER      =     "区切り文字";   /*  DBMS=DLMの場合に指定 */
RUN ;


解説

① DBMS=オプション
指定設定内容
CSV  カンマ区切り 
TAB  タブ区切り
DLM自分で「DELIMITER=オプション」に区切り文字(シングルバイト1文字)を指定 



② その他の注意点
変数にフォーマットが割り当てられている場合、フォーマット変換した値がテキストファイルに出力されます。




例 ・・・ CSVファイルへ出力

proc export
   data=SASHELP.CLASS
   outfile="C:\TEST\TEST.csv"
   dbms=dlm
   replace;
   delimiter=",";
run;





0 件のコメント:

コメントを投稿