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)

名字必须从 pisition 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 回答