文章目錄
- 場景模拟
- 處理方法
- 1.使用zn()函數
- 2.第二種方式的話我們采用IFNULL()
- 2.1 IFULL()還可以處理字元串
- 視圖空值處理
- 小結:
場景模拟
在我們平時對資料進行ETL的時候,有些公司如果沒有該行的值的話,可能就不會錄寫,但是在tableau做聚合分析的時候往往會把改字段計算進去,這時候我們就需要在數值中來處理一下空值,下面是一個Excel 模拟的demo資料源:
我們把demo資料源導入Tableau Desktop中,如下:
處理方法
這個時候我們有三種辦法來處理:
1.使用zn()函數
我們直接建立一個臨時計算字段
注意:建立臨時字段時候,當我們需要儲存我們臨時字段在資料窗格當中時,如下GIF示範:
2.第二種方式的話我們采用IFNULL()
同樣建立一個字段
2.1 IFULL()還可以處理字元串
為了示範處理字元串的效果,我特意在excel裡面加了name字段:
Excle中的name字段在Tableau當中自動生成了次元,此時裡面的值是對于的Technology裡面的Name值是Null。這時候我們就可以用IFNULL()函數來處理,比如我們把這裡的Null值改成"其他"。
建立一個IFNULL_name字段:
用IFNUll_name字段替換name字段,如下示範:
3.特殊值處理
在格式設定哪裡找到區下面的特殊值處理
視圖空值處理
這裡在說一下另一種情況的空值處理:資料源本身裡面沒有空值,但是由于我們在視圖裡面進行了不同的詳細級别展示,這個時候可能就會出現空值的情況,在這裡感謝海航航空的汪隊的提供的資料源。具體看下示範:
這裡有航班号,航線,航班日期次元和飛行小時度量,當航班日期具體到每一天的時候,航班号可能就會用空值(大白話來說就是航班也有休息的時候哈哈)
這個時候無論是用ZN函數還是IFNULL函數都不行,因為資料源裡面對應的不是空值,隻是在視圖詳盡級别展現的時候出現的。
LOOKUP函數用法:
這個時候我們可以用ZN函數和表計算函數LOOKUP互相配合
經過一番顔色,形狀的調整,最總展現如下:
注:紅色的代表缺失值,也就是航班未起飛的。
小結:
- ZN()函數隻能處理資料類型為數值型的,IFNULL()函數同時可以處理字元串型和數值型的;
-
ZN()函數隻能将資料源中空值處理為0值,IFNULL()函數中<表達式2>可以換成任意值處理,比如這裡的“其他”
在實際應用當中如果是數值處理的話用ZN函數,很多時候一個複雜的數值計算,在處理空值的時候往往會加上ZN函數。