SAS:格式/信息/类型。他们的分歧

时间:2012-04-16 08:15:43

标签: types format sas informat

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

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

但是什么是信息?

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

 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)是否有数字类型? (他们的缺失值是点.,而不是引号"")?

谢谢!

3 个答案:

答案 0 :(得分:3)

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

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

  

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

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

答案 1 :(得分:1)

信息是SAS用于将数据值读入变量的指令。 (INFORMAT Statement

Informats通常用于从称为平面文件的外部文件中读取或输入数据 (文本文件,ASCII文件或顺序文件)。您还可以在DATA步骤中的INPUT功能中使用信息。该信息指示SAS如何将数据读入SAS变量。 (Introduction to SAS Informats and Formats

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

答案 2 :(得分:1)

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

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

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