[Tableau實用技巧] - 對年,月,日使用不同的計算公式

最近使用Tableau做了一個項目的輸出報表,對於公司KPI會有一些比較複雜的計算公式需要在Tableau裏實現。我做的過程中在網上查了不少資料,發現大部分關於Tableau的教程都會講一些花裏胡哨的報表技巧,所以此文想講些比較務實一點的東西。

  • 年度化的返修率計算
    月:
    當月維修量 x 12 / 當月出貨量
    季度:
    當季維修量 x 4 / 當季度出貨量
    年度:
    當年維修量 / 當年出貨量
    註釋: 因爲是年度化的KPI,因此單月維修量需要乘以12做年度化,而季度維修量據需要乘以4做年度化, 年度,季度和月度的返修率計算時乘以的年度化係數不同。

  • 數據格式如下

日期 返修量 出貨量
2019-01-01 35 560
2019-02-01 44 640
  • 實現方法
  1. 首先, 生成兩個字段[季度]和[月份] ,
    [季度]計算公式如下。我的項目是使用美國的財務季度,因此一季度是前一年的11月到這一年的1月,一次類推。
IF MONTH([日期])>1 and MONTH([日期]) <=4 THEN
"季度二" 
ELSEIF MONTH([日期])>4 and MONTH([日期]) <=7 THEN
"季度三" 
ELSEIF MONTH([日期])>7 and MONTH([日期]) <=10 THEN
"季度四" 
ELSE 
"季度一"
END

[月份]計算公式如下。

DATENAME('month',[YearMonth])
  1. [年度化返修率] 計算公式如下, 當判斷條件ISNULL(ATTR([季度]) = " * ")爲真時,表示報表聚合到年度,使用年度計算公式。 當判斷條件ISNULL(ATTR([月份]) = " * ") 爲真時,表示報表聚合到季度,使用季度計算公式。如兩者都不是,則使用月度計算公式。
IF ISNULL(ATTR([季度]) = "*") THEN     //當季度值爲空,則是在計算年度數據
    sum([維修量])/sum([出貨量])         //年度計算公式
ELSEIF ISNULL(ATTR([月份]) = "*") THEN //當月份值爲空,則是在計算季度數據
   sum([維修量])*4/sum([出貨量])        //季度計算公式
ELSE                                   //如果以上都不是,則是在計算月度數據
    sum([維修量])*12/sum([出貨量])      //月度計算公式
END
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章