【Tableau Desktop 教學】計算函式系列#1 — 該怎麼處理資料有Null的問題?

延伸議題:一次搞懂 ZN、IFNULL、ISNULL等邏輯函式(Logical Function)的應用!

PGi 樺鼎商業資訊
PGi 樺鼎商業資訊
6 min readNov 21, 2018

--

Q:當原始資料的值「有空白」時,可能是漏掉、或是真的沒有,能否用零替代,或是其他字串替代?

一、在開始之前,先快速釐清一下空值Null的定義

空值(Null) →表示數值「未知」,也就是Null是一個狀態,而不是一個值。所以Null不能直接跟零劃上等號。

而兩個空值(Null)的比較是沒有意義的,且做加減乘除運算的話,最後會得出一個Null狀態,是一個資料缺少的標記、一個未知的結果。或是在做平均的時候,會直接省略Null的資料點。

例如:Null 乘以 10 將導致Null

10 * NULL        -- Result is NULL

又例如:把10、20、30、NULL 做平均運算,會是 (10+20+30) / 3 = 20的結果,而不會是 (10+20+30+0) / 4 = 15

二、用來處理跟Null相關的Logical Function

以下依序介紹ISNULL、IFNULL、ZN三個常見的邏輯函數。

1. 首先介紹 ISNULL

現在我們已經知道NULL跟其他數值做運算時,有時會得出NULL結果或是直接省略資料點,所以你可能會需要先判別你的資料點內有沒有NULL,這時候就可以運用ISNULL來完成。

  • ISNULL → 會返回TRUE/FALSE的結果
  • ISNULL (expression) → simply tests whether an expression is Null (TRUE) or Not (FALSE).
Example(1):  ISNULL([Profit])
  • 範例(1) ISNULL([Profit]) 意思是:如果[Profit]欄位有Null值,在延伸欄位給他一個True,如果沒有Null值,那就給他一個False.
  • 可以接著繼續:用IIF去做進一步的指令
Example(2):  IIF(ISNULL([Profit]), 0, [Profit] )
  • 範例(2) 意思是:先透過ISNULL判斷是否Null,再用IIF判斷,如果是True(Null),給0。如果是False(不是Null),給[Profit]的值。

2. 再來介紹 IFNULL

ISNULL是做是或否的二分類判斷,而IFNULL則是直接返回數值

  • IFNULL →會返回你指定的兩個欄位的數值
  • IFNULL (expr1,expr2) →如果expr1不是Null,那就給我expr1的值,如果expr1是Null的話,就給我expr2的值。
Example(3):  IFNULL([Profit], 0)
  • 範例(3) 意思是:在[Profit]這個欄位下,每一個row如果有數值的話,那就返回[Profit]的數值,如果是空白(Null)的話,就返回0。
  • 當然,expr2 不一定要是0,可以是你想要返回的另一個數值欄位的值

3. 最後是 ZN

ZN 很像是介於ISNULL跟IFNULL 的變形,最常用在趨勢分析中的數據缺失處理。

  • ZN →代表Zero Null,也就是會把任何 Null 替換成 Zero零
  • ZN(expression) →如果expression不是Null,就回傳expression的值 ,如果是Null,就給0
Example(4):  ZN([Profit])

另外,也會用在處理加減運算上,例如要算每年員工數量與前一年的變化,如果某一年的紀錄是空,相減的結果也會是空的,通常會用ZN處理才能得到正確結果。

Example(5):  ZN(SUM([Employee Count]))-LOOKUP(ZN(SUM([Employee Count])),-1)
  • 範例(5)其實就是Quick Table Calculation的 Difference 背後的運算式

三、馬上來應用練習一下!

例如,以下範例是一個零售銷售數據,有幾天的銷售額沒有數據,可能是真的沒營業沒有數據,或是漏紀錄了

要做趨勢分析時,可能會出現以下狀況,折線圖是斷掉的,因為2011年、2015年、2018年、2019年是Null空的。若確認是真的沒有營業,確定銷售額為零,那就可用ZN來處理。

創建一個Calculated Field,把Null用Zero值替換

Tableau內還有哪些函數?☞ 速覽 Functions in Tableau

▎極力推薦的延伸閱讀

Tableau 人氣部落客分享 │ 如何從問題解構到拉出圖形Tableau Server 管理大師分享-必管控的6大面向

▎關於 PGi樺鼎商業資訊

是Tableau在台灣的第一家合作夥伴,除了代理Tableau軟體授權,也是最專注在教學培訓的代理商。

在長達9年與Tableau的合作關係,我們已在台灣服務超過300家企業,特別是高科技製造、金融服務、零售、生技醫療等。

我們致力幫助台灣企業用戶認識並熱愛使用Tableau,協助多數的工作者,擺脫長久以來的低效率分析方式、重新定義【什麼叫做Visual Analytics 視覺化分析】,

讓我們開始練習用思維去引導分析,讓工具去輔助腦袋中的想法快速呈現眼前,而不再被傳統工具受限想法。

【熱門培訓課】Tableau Skill 當代高薪數據分析者的秘密

是不是想馬上打開你的Tableau Desktop試驗一下啊~如果這篇文章對你有幫助的話,歡迎直接按右下方的👏拍手讓我們知道喔~
越喜歡這系列文章的話,可以拍越多(可以不只拍一次)
也要記得「Follow」,讓我們提供更多有用的文章給您!

--

--

PGi 樺鼎商業資訊
PGi 樺鼎商業資訊

從RPA、BI 到 AI 平台,我們專注協助企業用最省力的方式,加速數據變現。From Data to Insight. Easier & Faster!歡迎造訪PGi 官網 https://www.perform-global.com