1. 概述
在進行資料整合時,欄位的連接合並、分列必不可少。
資料集中有時候需要合併部分需求欄位。
資料集中有欄位結構為用某些分隔符連結起來的字串,使用時需要拆分開只提取固定位置的字串,或者整體拆分為多列。
2. 欄位合併組合
2.1 欄位直接合並
5.1.12 之後的版本,正文欄位的合併是透過「+」實現的,當然也可以使用函式 CONCATENATE 。
注:類似於 Excel 中的 & 。
例如需要將姓和名連接成一個欄位「姓名」,如下圖所示:
輸入公式:姓+名,則將欄位進行了連接,如下圖所示:
同樣也可以使用 CONCATENATE 函式,如下圖所示:
2.2 欄位合併並用一個字元進行隔開
如果想給每個欄位加一個字元進行隔開,同樣使用+即可。
例如使用「銷售DEMO>地區資料分析」中的資料,需要將國家、省份、城市資料進行合併,並用 - 隔開。
建立欄位,命名欄位並輸入公式:國家+"-"+省份+"-"+城市,點選「確定」,如下圖所示:
得到「地区」字段如下图所示:
3. 欄位分列
根據欄位內的字元,將欄位拆分成多列。
在 FineBI 中透過使用函式建立「新增列」或者儀表板新增「計算欄位」實現欄位的分列。
3.1 範例
例如需要截取電話號碼,範例在自助資料集中建立新欄位進行分列,截取「電話」號碼的最後八位建構新欄位「電話號碼」。
1)使用 Demo 資料「供應商資訊表」製作自助資料集,選擇欄位「聯絡人姓名」和「電話」,如下圖所示:
2)選擇新增列,使用 RIGHT 函式,新增列「電話號碼」截取電話號碼的後八位,輸入公式:RIGHT(電話,8),如下圖所示:
3.2 更多公式
更多分列公式見下表。
需求 | 公式 | |
---|---|---|
字元只在欄位裏出現一次 | 截取固定位數的字元 | 範例:RIGHT(電話,8) |
取「字元前」的欄位內容 | LEFT(欄位名,FIND("字元",欄位名)-1) 範例:LEFT(用戶帳號和密碼,FIND(":",用戶帳號和密碼)-1) | |
取「字元後」的欄位內容 | RIGHT(欄位名,LEN(欄位名)-FIND("字元",欄位名)) 範例:RIGHT(用戶帳號和密碼,LEN(用戶帳號和密碼)-FIND(":",用戶帳號和密碼)) | |
去掉欄位後固定數目的字元 | LEFT(欄位名,LEN(欄位名)-需要去掉的字元長度) 範例: | |
去掉欄位前固定數目的字元 | RIGHT(欄位,LEN(欄位)-需要去掉的字元長度) | |
字元在欄位中多次出現 | 取欄位中最後一次多次出現的字元後的內容 | INDEXOF(SPLIT(欄位名,"_"),LEN(SPLIT(欄位名,"_"))-1) 範例:INDEXOF(SPLIT(欄位,"_"),LEN(SPLIT(欄位,"_"))-1) |
取欄位中倒數第二次多次出現的字元後的內容 | INDEXOF(SPLIT(欄位名,"_"),LEN(SPLIT(欄位名,"_"))-2) 範例:INDEXOF(SPLIT(欄位,"_"),LEN(SPLIT(欄位,"_"))-2) | |
以此類推即可實現欄位分列... |
在進行分列後可能需要將分開的多個欄位合併在一欄中,此時可以使用上下合併功能,詳情參見:逆透視