Tableau技巧——快速計算同比和環比(及其衍生)

同比和環比是統計分析中常見的功能,在Tableau中,通過表計算,我們不用寫一行代碼,就可以快速實現同比和環比。

環比

根據百度得到,環比增長率=(本期數-上期數)/上期數×100%。

以2016年10月銷售額為例,環比增長率=(2016年10月銷售額-2016年9月銷售額)/2016年9月銷售額*100。那么在Tableau中,怎么才能不寫代碼就得到環比增長率呢?不寫代碼?我書讀的少,不要忽悠我哦!

以10.2版本為例,數據源使用自帶的《示例 - 超市》,讀取數據源后,將訂單日期拖到行功能區,右鍵選擇下面的“月”格式,并設置為離散,效果如下:

然后復制度量窗格的“銷售額”,將“度量名稱”拖到列功能區,按住ctrl鍵將“度量名稱”從列功能區拖到篩選器區,并選擇“銷售額”、“銷售額(復制)”兩個度量字段:

將“度量”窗格的“度量值”拖到“標記”——“文本”:

這樣我們就得到了一個按年月升序排列的銷售額數據,接下來右鍵“標記”區的“總計(銷售額(復制))”字段,選擇“快速表計算”——“百分比差異”,就得到了我們想要的環比數據啦:

設置下字體格式,編輯下字段別名:

你沒有看錯,就是辣么簡單!就是不寫一行代碼!就是辣么任性!環比就搞定了!!!

先不要高興的太早,老話說,知其然,還要知其所以然。為什么Tableau計算環比這么簡單,我們來看看原因在哪里。

在前面的操作中,我們使用了Tableau一個強大的功能,表計算。這里的表,并不是數據源對應的那個表,而是一個虛擬表,是在工作表開發界面由選擇的維度和度量構成的一張虛擬表。在環比這個例子中,虛擬表是由“訂單日期”按照年月格式顯示的一個維度字段,和“銷售額”、“銷售額(復制)”兩個度量字段,按照“訂單日期”升序排列而創建。升序排列讓Tableau知道該如何選擇“本期”和“上期”,兩個度量字段用于實際計算環比,但是最關鍵一步,還是在于選擇的表計算類型“百分比差異“。讓我們右鍵“總計(銷售額(復制))”字段,選擇“編輯表計算”,一探“百分比差異”的神奇之處:

這里有幾個關鍵之處,首先我們看到“計算依據”選擇了“表(向下)”,由于虛擬表是按照訂單日期升序排列,因此“表(向下)”告訴了Tableau你計算“百分比差異”的順序是往下,另外下面可以看到“相對于”——“上一”,這就是告訴Tableau,“上期”的位置是“當期”的上面一個數值。翻譯成人話就是,從2013年1月開始計算,往下一直到2016年12月。第一個當期是2013年1月銷售額,上期就是上一行,也就是2012年12月銷售額,但是虛擬表中沒有2012年12月銷售額,因此2013年1月的環比為空。然后往下到第二行,2013年2月銷售額為當期,那么上期就是上一行,也就是2013年1月銷售額,這時候按照內置的計算邏輯:(2013年2月銷售額-2013年1月銷售額)/2013年1月銷售額*100,就得到了2013年2月環比增長率,后面以此類推,直接2016年12月銷售額計算完畢,整個表計算也就結束。

有同學會問,如果不是升序排列,而是降序呢?那么只要在“相對于”這里,選擇“下一”就可以了:

再提高一點,除了通過可視化了解環比,還可以通過Tableau自動生成的代碼來學習環比計算,我們可以雙擊“標記”區的“總計(銷售額(復制))”字段,將里面的代碼拷貝出來,貼到一個文本文件:

是不是看了有點暈,沒關系,我們先解釋下幾個函數:

ZN函數是指如果括號里的表達式結果不為NULL,則返回它,否則返回0。用這個函數主要是處理NULL值。

ABS函數是取括號里表達式的絕對值。

重點來了,趕緊記趕緊記,LOOKUP函數是這段代碼的靈魂,括號內分兩部分,逗號前面是當前值,后面的-1表示上一個值,翻譯成人話就是根據當前值,找它的上一個值。

三個函數明白了以后,這段代碼的含義就可以理解為:

(當前值 - 根據當前值找到它的上一個值)/根據當前值找到它的上一個值的絕對值。雖然有點繞口,但這就是“表計算——百分比差異”在Tableau中的語法。

掌握了這個公式,其實我們就可以直接用代碼來快速實現同比了。

同比

根據百度得到,同比增長率=(本期數-同期數)/同期數×100%。

以2016年10月銷售額為例,環比增長率=(2016年10月銷售額-2015年10月銷售額)/2015年10月銷售額*100。下面我們看下如何快速實現同比。我們復制剛才的“環比”工作表,重命名為“同比”:

然后我們雙擊“標記”——“總計(銷售額(復制))”,將公式修改如下:

(ZN(SUM([銷售額 (復制)])) - LOOKUP(ZN(SUM([銷售額 (復制)])),-12)) / ABS(LOOKUP(ZN(SUM([銷售額 (復制)])),-12))

想一下,為什么這里不是-1,而是-12了?

因為同比,只要日期中間沒有中斷,那么上一個值就應該是去年同月,自然等于當前年月-12了。

我們來看下結果:

2013年的12個月份,由于沒有對應的2012年數據,因此同比也沒有數據,第一個應該是從2014年1月開始。有興趣同學可以逐一核對。

如果日期按降序排列,那么代碼中只需要將-12替換成12就可以了,是不是非常的簡單方便!

掌握了這個計算公式后,不論同比、環比,還是當前值與之前、之后的任一值進行比較,我們都可以快速通過修改代碼,迅速得到正確結果,就是辣么爽!

注意事項:

1.日期序列中間不能有缺失,比如2016年12個月,如果沒有5月份,那就變成6月-4月,這是不對的。因此需要對數據源做出處理,人為添加5月份,值為0即可。

2.由于這個方法與日期字段的排序有緊密關系,因此當用戶修改了排序順序后,原來的計算公式就失效了,聰明的你,是否有更好的解決方案呢?

3.有關表計算的更多內容,請參考課程:Tableau數據分析可視化高手進階(新)

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,363評論 6 532
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,497評論 3 416
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,305評論 0 374
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,962評論 1 311
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,727評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,193評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,257評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,411評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,945評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,777評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,978評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,519評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,216評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,642評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,878評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,657評論 3 391
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,960評論 2 373

推薦閱讀更多精彩內容