文字函數的應用

0
在做資料統計分析之前,我們都會對資料做一些處理,尤其是文字型的變數,其中可能某一段對我們的分析有特殊涵義,以電話號碼為例,區碼就是一個很重要的資訊,另外每個區域的電話長度也都不一樣,所以可以藉此特性檢查電話號碼有無錯誤,下面我們將針對下面一個簡單的資料,使用較常使用5個的文字函數做資料處理
原始資料
01
範例1:從電話中取出區域代碼
Step1.選擇查詢產生器
02
Step2.將原始資料變數拉入右側的選取資料中後,點選03
04
Step3.選擇進階運算式->下一步
05
Step4.這有三大區塊,左下方是函數和變數的選擇區塊,右下方是函數的說明區塊,上方是函數輸入區塊。
 
在這我們用了2個函數SUBSTR和FIND,因為我們要從電話號碼中擷取部分的文字,而SUBSTR函數的用處就是擷取變數的部分字串,然而在電話號碼中的區碼有2碼也有3碼,所以我們需要FIND函數是要找尋某文字符號的位置來決定要截取的長度
用法:
SUBSTR(字串或變數,截取起始位置,截取長度);
FIND(字串或變數,”文字符號”)
以台北市跟南投縣的電話區域號碼為例(02)或(049)
截取的文字皆從第2個位置開始,截取長度我們利用找尋 “)” 位置的方法
FIND((02),”)”)=4
FIND((049),”)”)=5
所以我們可以利用FIND(t1.phone, ")")-2來決定長度
故我們最終的式子為:
SUBSTR(t1.phone, 2, FIND(t1.phone, ")")-2)
06
Step5.輸入欄名稱跟標籤後按完成
07
範例2:計算電話的長度
Step1.點選08
09
Step2. 選擇進階運算式->下一步
10
Step3.藉由左下方是函數和變數的選擇區塊,輸入上方是函數輸入區塊,結果如下,後下一步。
電話的長度是全長扣掉區碼和符號的個數,用LENGTH((02)1234-5678)算出全部長度13,再利用FIND(t1.phone, ")")-2算出區碼的長度,再扣掉3個符號((,),-)
故我們最終的式子為:
LENGTH(t1.phone)-(FIND(t1.phone, ")")-2)-3
11
Step4. 輸入欄名稱跟標籤後按完成
12
範例3.合併姓和名的兩個變數成為全名
Step1. 點選13
14
Step2. 選擇進階運算式->下一步
15
Step3. 藉由左下方是函數和變數的選擇區塊,輸入上方是函數輸入區塊,結果如下,後下一步。
CATX("",t1.lname,t1.fname)
16
Step4. 輸入欄名稱跟標籤後按完成
17
Step5.按執行
18
我們就可以得到我們所要的結果
19
Tags
Share

About Author

SAS Taiwan

SAS 學習資源 : https://blogs.sas.com/content/sastaiwan/

Comments are closed.

Back to Top