[程式] SAS 資料切割

看板Statistics作者 (毛毛)時間16年前 (2009/11/04 16:16), 編輯推噓3(306)
留言9則, 3人參與, 最新討論串1/1
[軟體程式類別]: SAS [程式問題]: 資料處理 [軟體熟悉度]: 用SAS很久了 但對資料處理上比較不熟悉 [問題敘述]: 在用SAS遇到不知道該怎麼解決的問題 在進行地址資料切割 資料本身在當初輸入上有問題 並沒有一個統一標準的作業流程 資料如下 台北市松山區富錦街4X2號之3                台北巿富錦街4X2之X號二樓                 富錦街4X0號X樓                      台北巿松山區富錦街4X6號一樓                想要切割 縣市 鄉鎮市區 地址等欄位 把上面的地址轉換成 縣市 鄉鎮市區 地址 台北市 松山區 富錦街4X2號之3 台北巿 空白 富錦街4X2之X號二樓  空白 空白 富錦街4X0號X樓 台北巿 松山區 富錦街4X6號一樓 因為資料筆數很大量 不可能用人工修正 請問一下有什麼方式可以解決 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.45.220.133

11/04 17:13, , 1F
直接用寫死的方法切大概不可行,因為不知道那個片段會漏
11/04 17:13, 1F

11/04 17:14, , 2F
掉,可能的方法是用'市縣區鄉鎮街'這些關鍵字作第一階段
11/04 17:14, 2F

11/04 17:15, , 3F
的資料抽取,之後再對新的資料作一點頭尾刪字的處理
11/04 17:15, 3F

11/04 21:59, , 4F
可以用index這個function找出特定關鍵字在字串中的位置
11/04 21:59, 4F

11/04 22:01, , 5F
然後再用substr這個function取出所要的字串
11/04 22:01, 5F

11/04 22:03, , 6F
譬如 index1=index(address,'市');
11/04 22:03, 6F

11/04 22:13, , 7F
if index1 ^= 0 then 縣市=substr(address,1,index1+1);
11/04 22:13, 7F

11/04 22:13, , 8F
else 縣市="";
11/04 22:13, 8F

11/04 22:21, , 9F
謝謝唷 我會試看看的
11/04 22:21, 9F
文章代碼(AID): #1AyJXxNr (Statistics)