SAS Enterprise Guide - 导入包含乱码的日期数据

时间:2016-01-14 20:03:02

标签: date datetime sas etl

关于SAS Enterprise Guide和导入数据。我有一列数据,其中一些是日期格式,其中一些是乱码。有没有办法强制将列转换为日期格式(MMDDYY10。)并将所有乱码(非日期格式)信息转换为空白?

1 个答案:

答案 0 :(得分:0)

您的问题缺少一些信息,但我假设您使用proc import来阅读该文件。该过程不提供对如何读取每列的任何控制,因为它在内部确定数据的类型和结构。在您的情况下,如果要导入的文件是CSV等文本文件,并且内部扫描无法将该列读取为数字,则会将其作为字符读取,以保留正确的信息。 proc import的主要目的是从外部文件格式创建SAS数据集。您可以在初始导入后对数据进行后处理。

另一个选项是使用导入向导,它会引导您完成一系列对话,以收集有关您要导入的文件的信息。其中一个步骤允许指定每列中数据的类型和格式。对于相关的日期列,您可以指定适当的日期信息并在输出数据集中获得所需的结果。此外,向导中的最后一步为您提供了将导入代码保存到文件的选项,以便将来可以使用它从类似结构文件中导入更多数据。该代码是一个数据步骤,其中包含从向导中收集的信息中的相应infileinformatformatinput语句。

当然,最终的控制是自己编写数据步骤。我更喜欢使用简单,结构良好的文件来完成这项工作,因为我可以精确控制变量的类型和长度,并拥有数据步骤的全部功能。一旦我开发了代码的工作版本,我发现如果将来适应输入文件中的更改,则更容易修改。

希望这能为您提供解决日期问题的选项。