0

作成したデータ セットがあり、指定した文字数まで末尾/埋め込みスペースが含まれるようにフォーマットする必要があります。

以下は、STG データ セットのフィールド名です。

'Social Security Number (SSN)'n
'Date of Birth'n 
'Last Name'n 
'First Name'n 

SSN は 1 桁目から開始し、9 文字以内 (1 桁目から 9 桁目) にする必要があります

DOB は 10 桁目から始まり、8 文字の長さでなければなりません (10 から 17 桁目)

姓は 18 桁目から始まり、26 文字の長さでなければなりません (18 ~ 43 桁目)

名は 44 番目の位置から始まり、20 文字の長さでなければなりません (44 から 63 の位置)

などなど。

エクスポートするとき、文字列に格納されているパディング/末尾のスペースを確認できる必要があります。私のフィールドはすべて文字としてフォーマットされています。

これにアプローチする最良の方法は何ですか?データ ステップで長さとサブパッドを指定しようとしましたが、エクスポートすると末尾のスペースが失われます。

4

1 に答える 1

1

固定列のテキスト ファイルを生成するのは非常に簡単です。PUT ステートメントを使用するだけです。

実際の値を書き込む前に最後の列にスペースを書き込むことにより、固定長の行を強制できます。これにより、すべての行が少なくともその長さまでパディングされます。

 data _null_;
    file 'mydata.txt'  ;
    set have;
    put @63 ' '
      @ 1 SSN $9.
      @10 DOB yymmdd8.
      @18 LAST_NAME $26.
      @44 FIRST_NAME $20.
    ;
 run;
于 2019-10-03T17:52:34.963 に答える