SAS System 8以降を用いた任意の区切り文字による出力について

[OS] WINDOWS
[リリース] SAS System 8以降
[キーワード] PC, WINDOWS, DDE, EXCEL, FILE, DSD

[質問]

DDE機能を使って、SASデータセットの内容を MS Excel に出力したいのですが、値の後に必ず空白が入ってしまいます。空白が入らないやり方はありませんか。

/* Excelに出力するSASデータセット(EXCELD) */

   OBS     A       B       C

    1     AAA1    BBB1    CCC1
    2     AAA2            CCC2
    3             BBB3    CCC3

/* Excelへの出力結果 */
AAA1□ BBB1□ CCC1□
AAA2□ CCC2□
BBB3□ CCC3□
※□は半角スペースが入っていることを示す。
/* 使用したプログラム */

    filename exceldde dde "excel | sheet1!r1c1:r3c3" notab ;
    data _null_ ;
      set  exceld   ;
      file exceldde ;
      put a '09'x  b '09'x  c '09'x ;
    run ;

[回答]

SAS System 8よりFILEステートメントに「DSDオプション」が指定できるようになり、 SAS System 6のINFILEステートメントと同様の機能を出力においても実現できるように変わりました。
そのオプションを使っていただければ、質問の現象も解消することができます。

/* 使用したプログラム */
    filename exceldde dde "excel | sheet1!r1c1:r3c3" notab ;
    data _null_ ;
      set  exceld   ;
      file exceldde dsd dlm='09'x ;
      put  a b c ;
    run ;