关于格式和信息的另一个问题:
格式用于输出(用于显示我和表中的其他用户数据),所以,我不关心它,如果我想用编程方式从表中读取数据,是吗?
但是什么是信息?
我的数据步骤是这样的代码:
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
)是否有数字类型? (他们的缺失值是点.
,而不是引号""
)?
谢谢!
答案 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程序“覆盖”。