回上層

Enterprise Guide

文字函數的應用

在做資料統計分析之前,我們都會對資料做一些處理,尤其是文字型的變數,其中可能某一段對我們的分析有特殊涵義,以電話號碼為例,區碼就是一個很重要的資訊,另外每個區域的電話長度也都不一樣,所以可以藉此特性檢查電話號碼有無錯誤,下面我們將針對下面一個簡單的資料,使用較常使用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

回上層