字串清洗

  • 文檔創建者:Roxy
  • 編輯次數:3
  • 最近更新:Nikozhan 于 2025-07-08
  • 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)設定完成後點選資料預覽即可看到處理好的欄位,如下圖所示:

    附件列表


    主題: 資料開發-定時任務
    已經是第一篇
    已經是最後一篇
    • 有幫助
    • 沒幫助
    • 只是瀏覽
    • 评价文档,奖励 1 ~ 100 随机 F 豆!