【发布时间】:2019-02-22 19:02:10
【问题描述】:
我很好奇 SAS 如何处理信息以及带有信息的输入语句。这些语句的“操作顺序”是什么?我包含了一个来自 SAS EG Import Wizard 生成的程序的示例 sn-p。
免责声明:我很少使用 EG 导入向导,但我的雇主要求我们尽可能使用 EG,即创建新程序,所以我很好奇这个功能是如何工作的。
数据:TimeStamp
01/01/2019 12:00:00 AM
EG 生成代码示例:
data Input;
length TimeStamp 4;
format TimeStamp mmddyy10.;
informat TimeStamp mmddyy10.;
...some infile statement...
input TimeStamp : Best32;
TimeStamp = DatePart(TimeStamp);
run;
上面的例子是EG生成的代码,但我很好奇为什么会生成所有这些语句。当我的导入向导状态为DateTime18. 时,我也不确定 SAS 为何在输入语句中使用: Best32 信息
从历史上看,使用 BASE SAS,我刚刚使用过:
- 使用输入语句提供信息
- 一个信息语句,然后是一个随后的输入语句。输入 语句将只包含变量名。
#1 示例:
Data Test;
...infile...;
input @1 TimeStamp DateTime18.;
...format...;
run;
#2 示例:
Data Test2;
...infile...;
informat TimeStamp DateTime18.;
input TimeStamp;
...format...;
run;
示例 #1 只是示例 #2 的简写吗?如果是这样,为什么 EG 会产生额外的步骤?在 EG Generated Code - informat 语句如何不覆盖 input 语句信息
【问题讨论】:
-
我认为如果您在communities.sas.com 提出问题,您可能更有机会获得答案,因为在 SAS 工作的技术人员经常为该论坛做出贡献。
-
您是否在问为什么企业指南向导会这样做?还是只是为了理解它生成的示例代码?
-
您能否再次检查您的示例 EG 生成代码是否真的是 EG 生成的?它有效吗?特别是,您为 TimeStamp 获得了什么价值?我看不出它怎么能做正确的事。
-
@Tom 澄清一下。从技术上讲,我在问这两个问题 - 它为什么会这样做,因为我不确定我是否理解 EG 这样做的原因。
-
@Quentin 是的,我确定,我复制/粘贴并更改了 var 名称,但保持语句的顺序相同。
标签: sas enterprise-guide