最新历史版本 :字串清洗 返回文檔
編輯時間: 內容長度:图片数:目录数: 修改原因:

目錄:

1.概述编辑

1.1 預期效果

使用者有時需清洗掉資料中的一些不需要的字元。

例如,括號型(負數),特殊貨幣符號(¥),千分位(數值類型自帶千分位)等,如下圖所示:

1.2 實現思路

先用 left 函式截取第一位回傳值,與「(」符號進行比較,判斷數位的「正負」屬性。

再用 replace 函式取代字串中的「括號、金錢符號和千分位符號」內容。

最後使用「TODOUBLE」將正文格式資料轉換為數值格式。

2. 操作步驟编辑

範例資料:

訂單利潤資料.xlsx

若需跟隨文檔進行操作,可將資料表匯入資料庫中。

2.1 資料接入

登入 FineDataLink 後,進入資料開發,新增資料轉換節點,如下圖所示:

進入資料轉換編輯介面,新增 DB 表輸入並將資料表取出,以便後續進行资料清理,如下圖所示:

點選資料預覽即可看到資料表,如下圖所示:

2.2 新增計算列

輸入欄位名,然後點選欄位值旁邊的編輯按鈕,輸入公式,如下圖所示:

TODOUBLE(if(left(利潤,1)="(","-"+REPLACE(REPLACE(REPLACE(REPLACE(利潤,"¥",""),",",""),"(",""),")",""),REPLACE(REPLACE(利潤,"¥",""),",","")))

公式說明:

公式說明
REPLACE(利潤,"¥","")將利潤欄位中的取代成空

REPLACE(REPLACE(REPLACE(利潤,"¥",""),",",""),

"(","")

將利潤欄位中的取代成空,並將( 去掉
REPLACE(REPLACE(REPLACE(REPLACE(利潤,"¥",""),",",""),"(",""),")","")將利潤欄位中的取代成空,並將( 和 ) 去掉
REPLACE(REPLACE(利潤,"¥",""),",","")將利潤欄位中的取代成空,並將,千分符取代去掉
if(left(利潤,1)="(","-"+REPLACE(REPLACE(REPLACE(REPLACE(利潤,"¥",""),",",""),"(",""),")",""),REPLACE(REPLACE(利潤,"¥",""),",",""))

如果利潤欄位的第二個字元為 ( 則取代去掉括號和¥,同時將處理好的資料前連接-

如果利潤欄位的第二個字元不是 ( 則只將利潤欄位中的¥取代成空,並將,千分符取代去掉


TODOUBLE()將結果從正文轉換為數值類型

3)設定完成後點選資料預覽即可看到處理好的欄位,如下圖所示: