由于新書還在寫作中呀枢,所以無法全身心投入公眾號(hào)的寫作中胚股,最近基本沒怎么更新,今天干脆把書里的內(nèi)容找一篇放出來供大家學(xué)習(xí)裙秋。素材取自WOW2020第23周的挑戰(zhàn)琅拌,在此基礎(chǔ)上我增加一些內(nèi)容,將圖表擴(kuò)充為多柱形圖+折線圖的組合圖表摘刑,這種圖表在Tableau中默認(rèn)是不支持的进宝,需要通過自己構(gòu)造連續(xù)字段作為橫軸來解決,難點(diǎn)就在如何構(gòu)造這個(gè)連續(xù)字段枷恕。
模仿Excel條形圖
本節(jié)案例采用WOW2020第23周的挑戰(zhàn)(Can You Excel At Bar Charts?)党晋,這個(gè)挑戰(zhàn)看似簡(jiǎn)單,也非常考驗(yàn)我們對(duì)Tableau底層邏輯的理解未玻。
按照一般的制圖思路灾而,我們通常會(huì)將兩個(gè)訂單日期(Order Date)拖到列功能區(qū),分別修改成月(Order Date)和年(Order Date)兩個(gè)離散字段扳剿,但是這樣的條形圖并不滿足要求旁趟,不僅軸的位置不對(duì),而且也不能保證月份之間有足夠的間隔舞终。
當(dāng)你認(rèn)真去觀察這個(gè)圖表的時(shí)候轻庆,就會(huì)發(fā)現(xiàn)X軸有零值線和刻度,很明顯是一個(gè)連續(xù)字段形成的坐標(biāo)軸敛劝。我們順著這個(gè)思路繼續(xù)思考,連續(xù)字段無非就是日期或數(shù)值纷宇,但經(jīng)過嘗試使用日期類型的月份作為橫軸夸盟,并沒有太好的方法控制條形圖的位置。遇到這種情況像捶,使用數(shù)值型數(shù)據(jù)更有利于創(chuàng)建計(jì)算字段控制條形圖的位置上陕,而顯示成某“月”則可以通過調(diào)整字段格式來實(shí)現(xiàn)。
如圖所示拓春,如果提取出數(shù)值型的月份放到X軸上释簿,就會(huì)形成一條連續(xù)的坐標(biāo)軸,想要在坐標(biāo)軸上顯示柱狀圖硼莽,并不能直接使用年度信息庶溶,而是要將年度信息根據(jù)已提取出的月份,轉(zhuǎn)化成特定的數(shù)值懂鸵。為了保證柱形圖顯示的對(duì)稱性偏螺,2016和2017年應(yīng)轉(zhuǎn)換為小于月份的數(shù)值,而2018年和2019年應(yīng)轉(zhuǎn)換為大于月份的數(shù)值匆光。
根據(jù)上面的分析套像,我們就可以新建兩個(gè)計(jì)算字段
- Year:
DATEPART('year',[Order Date])
- X軸:
CASE [year]
WHEN 2016 THEN DATEPART('month',[Order Date])-0.24
WHEN 2017 THEN DATEPART('month',[Order Date])-0.08
WHEN 2018 THEN DATEPART('month',[Order Date])+0.08
WHEN 2019 THEN DATEPART('month',[Order Date])+0.24
END
將“X軸”字段拖到列功能區(qū),“Sales”字段拖到列功能區(qū)终息,“year”字段拖到顏色標(biāo)簽夺巩,適當(dāng)調(diào)整標(biāo)記大小,最后通過修改軸的顯示格式周崭,即可將數(shù)值型數(shù)據(jù)顯示為月份數(shù)據(jù)柳譬。通過構(gòu)造連續(xù)軸的方式,我們就成功的在Tableau中模仿了Excel格式的條形圖休傍。
在這個(gè)挑戰(zhàn)的基礎(chǔ)上進(jìn)一步延伸征绎,就制作Excel中常見的多柱圖與折線圖的組合圖表。我們?cè)诨A(chǔ)知識(shí)部分(2.5基礎(chǔ)數(shù)據(jù)與視圖分區(qū))中提到過,使用離散數(shù)據(jù)作為X軸人柿,由于分區(qū)的存在會(huì)導(dǎo)致折線圖被截?cái)嗖穸铡H绻诖嘶A(chǔ)上制作折線圖,就會(huì)出現(xiàn)這種情況凫岖。但是新X軸已經(jīng)被改造成了連續(xù)的坐標(biāo)軸江咳,因此就可以繪制出連續(xù)的折線圖。
假如哥放,我們希望計(jì)算各月份(不區(qū)分“年”)的銷售利潤(rùn)歼指,由于這個(gè)計(jì)算與當(dāng)前視圖詳細(xì)級(jí)別不同,所以需要使用LOD表達(dá)式甥雕,
- 月度利潤(rùn):
{ FIXED DATEPART('month',[Order Date]):SUM([Profit])}
理論上踩身,我們希望在X軸等于1、2社露、3……時(shí)顯示月度銷售額的合計(jì)挟阻,但是觀察視圖數(shù)據(jù)之后,卻發(fā)現(xiàn)X軸中并沒有1峭弟、2附鸽、3這樣的整數(shù),不同年份的數(shù)據(jù)已經(jīng)被分配到了整數(shù)的左右兩側(cè)瞒瘸。因此坷备,我們只能退而求其次,讓利潤(rùn)數(shù)據(jù)與2018年(或2017)相對(duì)應(yīng)情臭,因此省撑,新建計(jì)算字段
- Y軸(折線):
if [X軸]=DATEPART('month',[Order Date])+0.08 then [月度利潤(rùn)] END
將“Y軸(折線)”字段拖到行功能區(qū),標(biāo)記類型選擇“線”并使用雙軸谎柄,將“year”字段拖到路徑丁侄,就得到了多柱圖與折線圖的結(jié)合圖表。
根據(jù)數(shù)據(jù)結(jié)構(gòu)的不同朝巫,制作方法也并不唯一鸿摇。假如是數(shù)據(jù)結(jié)構(gòu)是多度量值制作類似圖形,雖然思路一樣劈猿,但方法又不一樣了拙吉。這個(gè)請(qǐng)參看我的朋友氣球哥(低調(diào)的Tableau大神)的一篇公眾號(hào)文章。
公眾號(hào):表哥吹氣球
文章:《【Tableau小釘子】729:按月度-用三個(gè)度量制作雙柱加折線圖》
地址:(https://mp.weixin.qq.com/s/xbt0g1YpxjfhHFEnVwFu0Q)