Statistics 板


LINE

------------------------------------------------------------------------ [軟體程式類別]: SAS [程式問題]: 資料處理 [軟體熟悉度]: 低(1~3個月) [問題敘述]: 不好意思,由於最近在寫sas的作業,有出現一些資料處理的問題, 需要再麻煩各位大人了 原始的TXT檔長相如下: 公司 年 月 日 概估年月 財務報表公告日 XXXX 甲公司 2010 4 30 200912 20100430 XXXX 甲公司 2010 4 30 201003 20100430 XXXX 甲公司 2010 8 31 201006 20100831 XXXX 甲公司 2010 10 29 201009 20101029 YYYY 乙公司 2010 3 10 201002 YYYY 乙公司 2010 4 9 201003 20100429 YYYY 乙公司 2010 4 29 200912 20100429 YYYY 乙公司 2010 4 29 201003 20100429 因為之前有讀取過類似格式的TXT檔,發現偶有些TXT檔好像導出資料的時候用 TAB做分隔,因此讀取的時候我是另加DELIMITER='09'X的語法,這次也是利用 這樣的方式讀取TXT檔,但是在檔案中財務報表公告日那列原來為空格的儲存 格,讀進SAS後竟然不是遺失值,而是自動讀取公司代碼,因為我原來打算要把 有空格那列的資料刪除,可是這下就沒辦法用「IF 變數=. THEN DELETE」的作法, 後來我試著用「IF 變數=公司代碼 THEN DELETE」,可是我發現,有些空白格讀 入的不一定是同一列的公司代碼,而是下一列不同的公司代碼,因此到這裡小妹 又卡住了,不知道要如何將財務報表公告日那列原來為空格的那筆資料刪除? 另外,想請問一下,像這種以tab為分隔的txt檔,在讀取的時後,有沒有什麼 辦法可以可以將連在一起的概估年月,像是200912分割成2009 12,財務報 表公告日也是一樣,想把連在一起的年月日分割,我原來有試著用欄位輸入法, 可是好像原始檔用tab分隔的檔案,讀取的時候欄位都會跑掉,之所以要分割是 因為要將概估年月是2009年的刪掉,只想留下2010年的部份,雖然看起來原始 檔案中已經分開列示的年月日等變數和財務報表公告日很像,但是因為我還要將 這個檔案和另外一份合併,再以財務報表公告日為主去比對出另外一份檔案中, 和這份檔案財務報表公告日相同的資料,抓取前後20天的資料,所以在一開始 讀取上述的原始txt檔時,希望盡量能將可以比對的年月日分開列示,以方便進 行比對合併資料。 最後,想請問一下,由於原始TXT檔中,同一家公司可能會出現兩次同樣的概估年度 ,如果出現重複的情形,我只想保留第一筆資料,不知道用「NODUPKEY」的語法能不能 處理呢? 不好意思,麻煩各位了,謝謝^^ ----------------------------------------------------------------------------- --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.25.244.73
1F:推 west1996:1.原始檔有missing的問題可以參考missover和truncover這 06/06 13:10
2F:→ west1996:兩個option 06/06 13:10
3F:→ west1996:2.如果要切年月日的話在input這一句的變數指定方法要作 06/06 13:11
4F:→ west1996:修改,要跟SAS說每一個變數要從txt的第幾欄讀到第幾欄, 06/06 13:11
5F:→ west1996:語法請參考help的「input」條目下的list 06/06 13:13
6F:→ west1996:3.在讀取外部檔階段似乎不能去重複? 06/06 13:14
先謝謝大人的回答,可能是我表達的不是很清楚,針對大人第一個回答,在原始 檔中空格的部份,我原來以為讀進sas檔中會是遺失值,這樣我就可以針對遺失 值的部份,利用if語句刪除那列,但是,實際操作後,發現sas讀取的時候,原 始檔中原來是空格的部份,sas會自動帶入下一列的公司簡碼,這樣一來,我就 不知道要如何能刪除原始檔中原來是空格的那列資料,因為原始檔好像是用tab 去做分隔,我不太確定是不是因為這個原因所導致這樣的情形,另外,我也有試 過大人所提的,在input時指定每一個變數要從第幾欄到第幾欄,可是,可能是 因為原始檔不是以空格做分隔,而是以tab做分隔,我在原始檔數的欄位,在 sas 讀取後反而會全部跑掉,因為之前沒碰過這樣的情形,所以想請教各位一下,謝 謝^^ 剛剛試著參考其他文章選取欄位的作法 試著寫了一段程式 DATA d; INFILE anndatee DELIMITER='09'X FIRSTOBS=2; INPUT code name$ yr1 month1 date1 Quarter$ annodate$; DROP yr1 month1 date1; if length(annodate) eq 4 then delete; yr2=substr(Quarter,1,4); month2=substr(Quarter,5,2); run; 可是我發現又出現以下問題: 1.在log視窗內,出現這段note NOTE: 4859 records were read from the infile ANNDATEE. The minimum record length was 26. The maximum record length was 39. SAS went to a new line when INPUT statement reached past the end of a line. The data set WORK.D has 4609 observations and 6 variables. 雖然原始檔有4859筆資料,但是讀進sas檔卻只有4609筆??? 2.原來設定Quarter及annodate變數時並未改成文字型態,但是採用substr的話卻無法 產生我想要抓取的年月,所以後來改成文字型態進行處理,不知道這樣作對不對,因為 如果要和另外一個檔案以年月進行比較的話,勢必要將該檔案的年月改成文字型態,才 能進行比較。 不好意思,因為老師作業提供的原始檔實在很怪,所以一直出現問題,還請各位多多包涵 謝謝^^ ※ 編輯: joyce618 來自: 114.43.116.83 (06/06 23:47)
7F:推 west1996:先在infile後面加上missover和truncover這兩個關鍵字看看 06/07 00:09
8F:→ west1996:比數會錯就是因為原始資料裡面有missing的原因,先把筆數 06/07 00:10
9F:→ west1996:和資料讀對了,再來考慮後面的問題,不然也是白搭XD 06/07 00:10







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BabyMother站內搜尋

TOP