目前我正在试图导入压缩CSV文件导入SAS和我有3列写在格式YYYY-MM-DD日期导入CSV文件。这个csv文件中的所有数据都是独特的行,所以我认为它是一个字符串,不被识别为数字(抱歉,我最近才开始编码,而且我仍然在学习很多基础知识)。 会发生什么情况是SAS假定8个字符,它提供了2010-08-,基本上错过了一天。 我尝试了几种方法来解决使用输入,但迄今没有解决它。我要么得到一个空列或与转换号码(如52789 - 我想这是SAS使用作为参考的是1960年至今) 我希望你们能给我一些提示如何完成这件事。 的代码是:SAS:与日期
FILENAME IPC3data zip 'C:\Users\********\IPC3data.zip'
member='tls201_appln.csv';
DATA newdata;
INFILE IPC3data DLM=';' DSD FIRSTOBS=2;
INPUT appln_id $ appln_auth $ appln_nr $ appln_kind $ appln_filing_date $ appln_filing_year $ appln_nr_epodoc $ appln_nr_original $ ipr_type $ internat_appln_id $ int_phase $ reg_phase $ nat_phase $ earliest_filing_date $ earliest_filing_year $ earliest_filing_id $ earliest_publn_date $ earliest_publn_year $ earliest_pat_publn_id $ granted $ docdb_family_id $ inpadoc_family_id $ docdb_family_size $ nb_citing_docdb_fam $ nb_applicants $ nb_inventors;
Filing_date = input(appln_filing_date, ANYDTDTE10.);
put Filing_date=YYMMDD10.;
Early_filing_date = input(earliest_filing_date, ANYDTDTE10.);
put Early_filing_date=YYMMDD10.;
Early_publn_date = input(earliest_publn_date, ANYDTDTE10.);
put Early_publn_date=YYMMDD10.;
RUN; 谢谢!
亲爱的汤姆的日期格式和类型,感谢长度评论 - 这解决了这个问题!对,对于某些id列,我也需要超过8个空格。我知道这个技巧,但是没有想到它......但是,如果我添加了信息/格式部分,它总是会给我一个错误提示“信息$ yymmdd。未找到或无法加载。”鉴于长度声明给了我完整的日期,我还不确定是否还需要添加? – Annina
您必须使用与变量类型相匹配的信息。由于你的变量是字符SAS正在寻找一个将生成字符结果的信息。因此错误消息中的额外$。确保将变量定义为数字。 – Tom