【Tableau Desktop 教學】計算函式系列#1 — 該怎麼處理資料有Null的問題?
延伸議題:一次搞懂 ZN、IFNULL、ISNULL等邏輯函式(Logical Function)的應用!
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
- Logical Functions
- Date Functions
- Aggregate Functions
- Number Functions
- String Functions
- Type Conversion
- User Functions
- Table Calculation Functions
▎極力推薦的延伸閱讀
Tableau 人氣部落客分享 │ 如何從問題解構到拉出圖形Tableau Server 管理大師分享-必管控的6大面向
▎關於 PGi樺鼎商業資訊
是Tableau在台灣的第一家合作夥伴,除了代理Tableau軟體授權,也是最專注在教學培訓的代理商。
在長達9年與Tableau的合作關係,我們已在台灣服務超過300家企業,特別是高科技製造、金融服務、零售、生技醫療等。
我們致力幫助台灣企業用戶認識並熱愛使用Tableau,協助多數的工作者,擺脫長久以來的低效率分析方式、重新定義【什麼叫做Visual Analytics 視覺化分析】,
讓我們開始練習用思維去引導分析,讓工具去輔助腦袋中的想法快速呈現眼前,而不再被傳統工具受限想法。
➔【熱門培訓課】Tableau Skill 當代高薪數據分析者的秘密
是不是想馬上打開你的Tableau Desktop試驗一下啊~如果這篇文章對你有幫助的話,歡迎直接按右下方的👏拍手讓我們知道喔~
越喜歡這系列文章的話,可以拍越多(可以不只拍一次)
也要記得「Follow」,讓我們提供更多有用的文章給您!