【问题标题】:Retain leading zeros during import using SAS EG import Wizard使用 SAS EG 导入向导在导入期间保留前导零
【发布时间】:2017-05-16 06:31:12
【问题描述】:

我正在尝试使用 SAS EG 导入向导将 excel 文件导入 SAS。我有一个类型为 char4 的字段 X。但是,它有数字数据。例如1101 在导入期间,SAS 会截断前导零,尽管数据类型是字符。有没有办法保留前导零。我不能在 SAS 中附加零,因为很少有值是合法的 3 位数字,并且由于前导零截断而变成 3 位数字的值很少。所以,很难弄清楚哪些值应该用前导零填充。

【问题讨论】:

  • 该字段是Excel中的字符字段吗?在这种情况下,只要您将输入格式设置为字符并将长度设置为 4,SAS 就不应该截断您的值。如果它不是 excel 中的字符字段,您也不应该在 Excel 中使用前导零。
  • 在 excel 中,它有可用的前导零。我认为这意味着它是一般/文本。
  • 如果是通用/文本,如果 excel 文件中只有数字,SAS 可能很难理解它是一个字符。如果您将其更改为文本并重新导入,或者在导入向导的第三个屏幕中将类型设置为字符,将格式设置为 $char4.,将长度设置为 4,将输出格式设置为 $char4。你应该没事。
  • 我最初尝试了向导选项,但它不起作用。但是在将 excel 格式显式转换为文本而不是一般格式后,它就起作用了。
  • 太棒了!通常只需将第一个字段显式转换为文本就足够了,SAS 会知道发生了什么。

标签: sas


【解决方案1】:

如果是通用/文本,如果 excel 文件中只有数字,SAS 可能很难理解它是一个字符。您应该有两种方法让它理解该字段是纯文本字段。

  1. 如果您将其更改为文本并重新导入
  2. 在导入向导的第三个屏幕中,将类型设置为字符,将 in-format 设置为 $char4.,将 length 设置为 4,将 out-format 设置为 $char4。你应该没事。

(发表我的评论作为答案,以便可以关闭)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-14
    • 2010-09-26
    • 1970-01-01
    • 2011-10-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-25
    • 2020-06-11
    相关资源
    最近更新 更多