4

关于格式和信息的另一个问题:

格式用于输出(用于显示我和表中的其他用户数据),所以,我不关心它,如果我想以编程方式从表中读取数据,是吗?

但什么是信息?

我有这样的代码数据步骤:

 data Out; 
       attrib __fromDate __ToDate informat=ddmmyy16. format=worddatx32.
              __name __country length = $10
       ;

 set InputTab;

 /*see Dates*/
 retain __fromDate .;
 retain __ToDate .; 

/*see Strings*/
 retain __name "";
 retain __country "";

 __fromDate=coalesce(__fromDate,fromDate);
 __ToDate=coalesce(__fromDate,fromDate);
 __name=coalescec(__name,name);
 __country=coalescec(__country,country);

run;     

此代码是否有效?每个语句中的所有这些变量是什么类型?

我是对的,var 的信息和类型是相似的吗?

此外,日期(__ToDate, __FromDate)是否具有数字类型?(他们的缺失值是点.,而不是引号"")?

谢谢!

4

3 回答 3

3

在 SAS 中,变量有两种可能的类型:字符或数字。

信息相似但略有不同。它控制 SAS 如何从外部数据源读取数据。共有三种变体,数字、字符和日期/时间。引用您在此处提供的代码,informat=ddmmyy16.告诉 SAS 以日期/时间格式读取输入数据。16是宽度。有许多信息,以长度,小数等为条件。

而且,日期(__ToDate, __FromDate)是否有数字类型?(他们的缺失值是点。,而不是引号“”)?

在 SAS 中,字符类型的缺失值被赋予双引号""。对于数字类型,它是 dot .。日期/时间被视为数字类型。

于 2012-04-16T12:46:33.367 回答
1

关于 INFORMATS 的另一条评论;它们还与访问数据集的交互式工具一起使用(特别是 VIEWTABLE 应用程序,它允许人们从 SAS 会话内部编辑数据集)。

例如,假设您的变量是使用“date9”的 INFORMAT 定义的。和“mmddyy10.”的格式。如果您使用 VIEWTABLE 编辑数据集并在列中键入“18apr2012”,SAS 将接受该日期并将其显示为“04/18/2012”。

请记住,INFORMATS 和 FORMATS 是 SAS 变量的不同“属性”,可以随时修改。FORMATS 也可以被带有 FORMAT语句的各种过程“覆盖” 。

于 2012-04-18T22:10:05.830 回答
1

信息是 SAS 用来将数据值读入变量的指令。(信息声明

信息格式通常用于从称为平面文件(文本文件、ASCII 文件或顺序文件)的外部文件读取或输入数据。您还可以在 DATA 步内的 INPUT 函数中使用信息。该信息指示 SAS 如何将数据读入 SAS 变量。(SAS 信息和格式简介

在 SAS 中只有两种类型的变量 - 字符和数字。但是,可以为变量分配许多 INFORMATS 中的任何一种。我不相信 INFORMAT 是相关的,除非正在使用 INPUT 语句/函数。

于 2012-04-16T12:33:23.930 回答