目前我正在試圖導入壓縮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