使用DATA步骤与PROC IMPORT

时间:2016-02-09 18:09:48

标签: sas

在SAS中,在从原始数据文件(csv)创建SAS数据集时,我们可以使用DATA步骤和infile关键字或PROC IMPORT步骤。 每种方法的优点和缺点是什么?

2 个答案:

答案 0 :(得分:1)

Proc Import根据读取CSV中由选项控制的行数,对字符变量的长度和变量类型进行假设。如果在运行proc import后在交互式sas中发出召回命令,则会获得执行proc导入的数据步骤代码以执行实际工作。它生成的格式和信息语句可能与您想要的完全一样,也可能不是。

我经常使用proc import作为数据步骤代码生成器,调用代码,然后根据我的需要进行修改。

您还可以添加其他处理逻辑,以扩展该步骤的功能,而不仅仅是将源数据读取到数据集中。请记住,创建新变量作为CSV中一个或多个列的转换。

答案 1 :(得分:0)

我普遍认为这个问题太广泛了。那说:

PROC IMPORT比DATA STEP慢。这是因为PROC IMPORT会查看该文件,然后编写并执行DATA STEP。

数据步骤要求您知道每个变量的名称,位置和属性(类型,长度等)。

如果我需要读取一次文件,我只使用PROC IMPORT。

如果我需要多次读取文件,我不关心速度,文件格式可能会改变,然后我使用PROC IMPORT。

如果我在速度很重要的生产系统中,如果格式改变我想要一个错误,那么我使用PROC IMPORT。但我把它为我写的数据步骤并将其放入我的代码中。

如果PROC IMPORT无法正确猜测我的列,我使用PROC IMPORT,修改它生成的DATA STEP,然后使用它。