iT邦幫忙

2022 iThome 鐵人賽

DAY 4
0
AI & Data

開始你的數據分析之路 - 資料ETL & 視覺化系列 第 4

Day4_[tableau prep]字串欄位處理

  • 分享至 

  • xImage
  •  

Hi, day4我們接著來介紹, 若遇到字串欄位時, 在實務中遇到需求可以怎麼處理,

情境1:資料欄位STORE_CITY, 當中包含了各縣市名稱, 若今天需求是要看到六都各縣市&非六都的情況可以怎麼做?
首先觀察資料欄位的項目, 可以發現項目內容很整潔, 沒有異常值或null值的狀況

https://ithelp.ithome.com.tw/upload/images/20220905/20140304JM2ahZDb9Y.png

此需求可以想像成在STORE_CITY欄位中, 我們只要抓取’六都縣市名稱’, 非六都的縣市名稱全部取代為’非六都’, 那我們可以使用CASE函數來處理
CASE函數使用方法如下

CASE [目標欄位]
WHEN ‘指定文字’ THEN ‘你想要的取代名稱’
ELSE ‘上述條件皆完成後其他的取代名稱’
END

讓我們來實作一次此情境可以怎麼編寫此函數, 建立新欄位, 欄位名稱這邊不跟STORE_CITY重複, 目的是來驗證函數是否有寫正確

https://ithelp.ithome.com.tw/upload/images/20220905/20140304Yi2YWNRY1b.png

完成後我們看到新的欄位出現, 那我們右鍵點選非六都, 選擇只保留, 來驗證一下STORE_CITY欄位是否只會剩下非六都的縣市, 由此可以發現函數編寫正確

https://ithelp.ithome.com.tw/upload/images/20220905/20140304wd3MrPrk2c.png

https://ithelp.ithome.com.tw/upload/images/20220905/201403040BiuRZ2Ysl.png

情境2:資料欄位STORE_AREA中, 包含各鄉鎮市區的項目及null值, 若我們要把null值的項目呈現為’無資料’, 且其他有鄉鎮市區項目的名稱中, 若字數超過2個字元以上的項目把‘區’此字移除, 例如STORE_CITY欄位有台中市, STORE_AREA為北區, 把區移除的話結果會變成, 台中市的STORE_AREA會呈現為 ‘北’ 一個字, 不好理解

我們要做的第一件事情是把null值先取代為’無資料’, 可以使用IFNULL函數,
使用方法為
IFNULL([目標欄位], ‘若為null值要呈現甚麼文字’)

https://ithelp.ithome.com.tw/upload/images/20220905/20140304uUsUHSul3n.png

接著我們使用IF, LEN, REPLACE函數, 先用LEN函數把字串項目<=2的內容取出並維持原本的項目名稱, 若>2則將’區’取代為沒有文字

https://ithelp.ithome.com.tw/upload/images/20220905/20140304LktwDKKJzu.png

然後我們只篩選STORE_AREA中的中區, 來看看函數寫的對不對

https://ithelp.ithome.com.tw/upload/images/20220905/20140304CuNl0o3vdh.png

我們發現新的欄位只顯示一個’中字’, 表示STORE_AREA欄位中的字元有誤, 點擊STORE_AREA欄位中的中區兩次, 可以看到中區兩字後面還有全型空格, 所以我們需要先使用REPLACE函數把全型空格移除掉, 再做上述的處理
REPLACE([STORE_AREA], ' ', '')

最後再編寫剛剛的if & replace函數, 只篩選出中區來確認, 結果正確!

https://ithelp.ithome.com.tw/upload/images/20220905/20140304WogpBfRk8C.png

情境3:我們手邊有通路類別欄位, 需求新增一個欄位, 內容是將其中的’加盟’, ‘盤商’合併為’加盟&盤商’, 其他項目維持原名稱, 我們可以使用IF 和 REGEXP_MATCH函數, 使用方法為

IF REGEXP_MATCH([目標欄位], (‘此欄位有的內容1|此欄位有的內容2’))
THEN ‘你預設想設定的項目名稱’
ELSE [目標欄位]
END

https://ithelp.ithome.com.tw/upload/images/20220905/20140304E023ysGzop.png

最後把新的欄位只篩選 ‘加盟&盤商’, 結果正確!

https://ithelp.ithome.com.tw/upload/images/20220905/20140304a0u6lv31Si.png

以上是實務中關於字串欄位的處理狀況
day5我們來看看遇到數字格式欄位可以怎麼處理


上一篇
Day3_[tableau prep]時間日期欄位處理
下一篇
Day5_[tableau prep]數字欄位處理
系列文
開始你的數據分析之路 - 資料ETL & 視覺化30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言