Sas 设置日期列的格式时使用“&引用;显示在同一列中
我有几个带有日期的列,一些条目包含条目“”,其他条目包含MMDDYY10中的日期。格式 我会在稍后比较日期,并使用代码进行比较,但缺少的条目和“?”会导致出现错误并创建观察结果 这是我的进口代码:Sas 设置日期列的格式时使用“&引用;显示在同一列中,sas,Sas,我有几个带有日期的列,一些条目包含条目“”,其他条目包含MMDDYY10中的日期。格式 我会在稍后比较日期,并使用代码进行比较,但缺少的条目和“?”会导致出现错误并创建观察结果 这是我的进口代码: data WORK.esn_service ; %let _EFIERR_ = 0; /* set the ERROR detection macro variable */ infile 'C:\Documents and S
data WORK.esn_service ;
%let _EFIERR_ = 0; /* set the ERROR detection macro variable */
infile 'C:\Documents and Settings\richardg\Desktop\Sirius\esn_service.csv' delimiter = ',' MISSOVER DSD lrecl=32767 firstobs=2 ;
informat DEACTIVATION_DATE best10. ;
informat DEACTIVATION_REASON $35. ;
informat REACTIVATION_DATE best10. ;
format DEACTIVATION_DATE mmddyy10. ;
format DEACTIVATION_REASON $35. ;
format REACTIVATION_DATE mmddyy10. ;
input
DEACTIVATION_DATE
DEACTIVATION_REASON $
REACTIVATION_DATE
;
if _ERROR_ then call symputx('_EFIERR_',1); /* set ERROR detection macro variable */
run;
两个日期列导致了错误。我需要稍后比较日期,所以我不能只选择一个随机日期来替换问题单元格 您在如何导入数据方面遇到了问题。一旦一个列成为一个字符变量,它就会被卡住——你必须创建一个新的列来改变它。更改导入方式以将其作为数字输入,或者为每个列创建一个新列以强制其为数字 如果您的数据中已经有MMDDYY10(在CSV文件中),那么您需要使用INFORMAT。INFORMAT控制SAS读取数据的方式
data WORK.esn_service ;
%let _EFIERR_ = 0; /* set the ERROR detection macro variable */
infile 'C:\Documents and Settings\richardg\Desktop\Sirius\esn_service.csv' delimiter = ',' MISSOVER DSD lrecl=32767 firstobs=2 ;
informat DEACTIVATION_DATE mmddyy10. ;
informat DEACTIVATION_REASON $35. ;
informat REACTIVATION_DATE mmddyy10. ;
format DEACTIVATION_DATE mmddyy10. ;
format DEACTIVATION_REASON $35. ;
format REACTIVATION_DATE mmddyy10. ;
input
DEACTIVATION_DATE
DEACTIVATION_REASON $
REACTIVATION_DATE
;
if _ERROR_ then call symputx('_EFIERR_',1); /* set ERROR detection macro variable */
run;
使用MMDDYY10。强制它是数字?或者,是否需要指定其他格式?很抱歉这里的问题初始数据集,
esn\U服务
,已经包含了这些变量,是吗?它们作为字符引入,可能是因为您正在从CSV或Excel导入,它正在扫描列并查找字符(“?”)<代码>格式不会更改变量的类型,除非该变量在该语句之前不存在。是。SAS中的日期是数字。MMDDYY10。是一种格式化要显示为日期的数字的格式。您是如何导入数据的?我使用了导入向导,然后复制了代码以便编辑它。csv太大,无法在excel中完全打开,因此我可以删除其中的?。我已尝试将格式和信息更改为mmddyy10。最好的10种,几乎每种组合。我不断地犯错误,因为有人问了你的问题,并从你的CSV文件中添加了前五行或六行。您混淆了信息的含义、格式和数据类型。您需要向我们显示您试图读取的原始数据。