在 Tableau 中利用文字欄位建立日期導出欄位

shortie 經手的各式資料中,經常會碰到來源資料中的日期時間欄位,被拆解為年、月、日、時、分、秒並伴以文字的方式儲存。但是在處理上述資料的時候,又要將這些欄位組合再一起,還原成日期時間欄位後,才能進行後續的資料分析,這類工作其實是非常煩人的工作。

shortie 處理文字欄位轉換成日期欄位的策略為:

  1. 若來源資料是由可被修改的程式(演算法)產生,則修改該程式或演算法直接產生日期欄位。
  2. 若來源資料的產生方式無法被修改,則利用文字編輯器 (notepad++) 、資料庫 (MySQL, SQL Server) 、文書處理 (Excel) 等工具,對來源資料進行二次加工。 

過去為了讓加工後的資料,可以在多種分析工具中被重複利用,因此 shortie 並不願意在特定工具中去做此類資料型別轉換的工作,這當然也包括了 Tableau 這個工具。

直到最近碰到有些來源資料只會在 Tableau 中被分析,才逐漸興起直接在 Tableau 中進行文字欄位轉換成日期欄位的念頭, shortie 使用的泛用步驟如下:

  1. 來源資料導入 Tableau 之後,新增一個導出欄位 (Calculated Field)
  2. 在步驟 1 產生的導出欄位中,利用 DATAPARSE 進行必要的轉換工作。例如:
    DATEPARSE (
        "yyyy-MM-dd HH:mm:ss",
          STR([Field Year]) + "-"
          + STR([Field Month]) + "-"
          + STR([Field Day]) + " "
          + STR([Field Hour]) + ":" 
          + STR([Field Minute]) + ":"
          + STR([Field Second])
    )

實務上,日期導出欄位的內容可視來源資料格式彈性變化,如此一來獲得的好處是,可以僅利用 Tableau 單一工具,就輕鬆完成來源資料分析的工作。

參考資料

發佈留言

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料