天天看點

【Tableau Desktop 企業日常技巧3.0】Tableau中如何處理空值

文章目錄

  • ​​場景模拟​​
  • ​​處理方法​​
  • ​​1.使用zn()函數​​
  • ​​2.第二種方式的話我們采用IFNULL()​​
  • ​​2.1 IFULL()還可以處理字元串​​
  • ​​視圖空值處理​​
  • ​​小結:​​

場景模拟

在我們平時對資料進行ETL的時候,有些公司如果沒有該行的值的話,可能就不會錄寫,但是在tableau做聚合分析的時候往往會把改字段計算進去,這時候我們就需要在數值中來處理一下空值,下面是一個Excel 模拟的demo資料源:

【Tableau Desktop 企業日常技巧3.0】Tableau中如何處理空值

我們把demo資料源導入Tableau Desktop中,如下:

【Tableau Desktop 企業日常技巧3.0】Tableau中如何處理空值

處理方法

這個時候我們有三種辦法來處理:

1.使用zn()函數

【Tableau Desktop 企業日常技巧3.0】Tableau中如何處理空值

我們直接建立一個臨時計算字段

【Tableau Desktop 企業日常技巧3.0】Tableau中如何處理空值

注意:建立臨時字段時候,當我們需要儲存我們臨時字段在資料窗格當中時,如下GIF示範:

【Tableau Desktop 企業日常技巧3.0】Tableau中如何處理空值

2.第二種方式的話我們采用IFNULL()

【Tableau Desktop 企業日常技巧3.0】Tableau中如何處理空值

同樣建立一個字段

【Tableau Desktop 企業日常技巧3.0】Tableau中如何處理空值
【Tableau Desktop 企業日常技巧3.0】Tableau中如何處理空值

2.1 IFULL()還可以處理字元串

為了示範處理字元串的效果,我特意在excel裡面加了name字段:

【Tableau Desktop 企業日常技巧3.0】Tableau中如何處理空值

Excle中的name字段在Tableau當中自動生成了次元,此時裡面的值是對于的Technology裡面的Name值是Null。這時候我們就可以用IFNULL()函數來處理,比如我們把這裡的Null值改成"其他"。

建立一個IFNULL_name字段:

【Tableau Desktop 企業日常技巧3.0】Tableau中如何處理空值

用IFNUll_name字段替換name字段,如下示範:

【Tableau Desktop 企業日常技巧3.0】Tableau中如何處理空值

3.特殊值處理

在格式設定哪裡找到區下面的特殊值處理

【Tableau Desktop 企業日常技巧3.0】Tableau中如何處理空值

視圖空值處理

這裡在說一下另一種情況的空值處理:資料源本身裡面沒有空值,但是由于我們在視圖裡面進行了不同的詳細級别展示,這個時候可能就會出現空值的情況,在這裡感謝海航航空的汪隊的提供的資料源。具體看下示範:

【Tableau Desktop 企業日常技巧3.0】Tableau中如何處理空值

這裡有航班号,航線,航班日期次元和飛行小時度量,當航班日期具體到每一天的時候,航班号可能就會用空值(大白話來說就是航班也有休息的時候哈哈)

這個時候無論是用ZN函數還是IFNULL函數都不行,因為資料源裡面對應的不是空值,隻是在視圖詳盡級别展現的時候出現的。

LOOKUP函數用法:

【Tableau Desktop 企業日常技巧3.0】Tableau中如何處理空值

這個時候我們可以用ZN函數和表計算函數LOOKUP互相配合

【Tableau Desktop 企業日常技巧3.0】Tableau中如何處理空值

經過一番顔色,形狀的調整,最總展現如下:

注:紅色的代表缺失值,也就是航班未起飛的。

【Tableau Desktop 企業日常技巧3.0】Tableau中如何處理空值

小結:

  • ZN()函數隻能處理資料類型為數值型的,IFNULL()函數同時可以處理字元串型和數值型的;
  • ZN()函數隻能将資料源中空值處理為0值,IFNULL()函數中<表達式2>可以換成任意值處理,比如這裡的“其他”

    在實際應用當中如果是數值處理的話用ZN函數,很多時候一個複雜的數值計算,在處理空值的時候往往會加上ZN函數。