《业务可视化分析》摘要
7.8 在趋势中增加对比关系:双折线增加阴影区
注意:本案例需要使用高级计算
在掌握了Tableau的绘制方法与基本图形的样式之后,可以跟随业务的需要,不断调整可视化视觉样式。在这里,介绍一个使用基本功能而组合的延伸图形——在两条折线中间增加阴影区。
这里以“A股上市公司资金流向”为例。
很多人以股票“超大单、大单、中单和小单”的资金流向作为风向标,以交易日为横轴,可以绘制“超大单资金净流入”的趋势图。为了突出每日的金额,这里采用柱状图的方式呈现,并以颜色描述方向与绝对值大小,它的背后就是“超大单流入与超大单流出”的差额。如图7-55所示。

图 7‑56 通过阴影区域的遮挡关系,创建折线图的阴影区
这个是最基本的时序分析。不过,以差异为绝对值制作的柱状图无法反映流入和流出的各自变化,无形中原理了它所依赖的基础。能否在保留二者独立趋势的基础上,进一步将“净流入”植入其中呢?
于是,就有人思考,如何在流入与流出折线的基础上,突出差异呢?差异就是二者包围的狭小区域。在Tableau中,可以通过标记的“区域”创建阴影面积,多个阴影区域重叠或者遮挡创建更多阴影区域。
如图7-56所示,首先可以基于趋势线创建各自独立的阴影区域(A区域),而后通过计算每日二者最小值创建完全重合的阴影区域(B区域),最后通过上述两个区域的遮挡就出现了差异区域(C区域)。

图 7‑56 通过阴影区域的遮挡关系,创建折线图的阴影区
注意,这里有两个事项:
- 在创建A区域时,Tableau默认是堆叠方式,要通过“分析”关闭堆叠方式,改为重叠方式
- 由于这里是两个独立的度量,因此计算差异通过MIN函数即可
- 通过双轴方式重合,需要遮挡的区域使用纯白色
还有一种适当复杂的情况:两个折线来自于同一个维度字段的不同值,度量使用相同字段。此时的差异区域,就相当于是更高层次的MIN聚合,更高层次聚合需要使用表计算或者狭义LOD高级函数。
这里以超市数据“各月份的两个类别的销售额趋势”为例介绍,当然,对类别的比较没有实质性意义。
这里筛选了两个类别,通过“标记-区域”建立重叠的阴影区域。在当前视图基础上,通过表计算WINDOW_MIN函数可以快速构建“完全重合的阴影区域”,并将其设置为纯白色,而后即可使用双轴建立遮挡关系。如图7-57所示。

图 7‑57 在基于维度的折线图中,使用表计算创建完全重合区域
虽然这里也可以使用狭义LOD计算完成,不过考虑到计算对视图带来的性能影响,表计算通常是最优选。
你可能会发现,和此前的“资金流入分析”相反,两个类别的比较没有实质业务意义。是的,这里只是借用熟悉的字段来阐述,同时警告这个图形的适用范围:两条折线代表的意义要有可比性,比如仓库的入库与出库、股票的买入和卖出、财务的应收与应付等。
在双折线之间建立阴影关系,其实质是在时序分析问题中,增加了二者的对比关系,因此只有具有可比性且有交叉的数据才有意义。阴影让对比关系更加突出。
如图7-58所示,Andy Kriebel在分析“美国拉美籍与非洲籍球员的占比”时,两条线之间的阴影效果强调了此消彼长的过程,这样图形既保留了各自的独立趋势,又增加了彼此的差异。

图 7‑58 美国拉美籍与非洲籍球员的占比 by Andy Kriebel[1]
至此,本章介绍了时间序列中的常见分析问题,更多的业务场景,有待在分析中结合上述方法不断思考。
[1] Andy Kriebel为Tableau Zen Master Hall of Fame成员,Tableau资深用户,The Information Lab Data School资深教练,创办有vizwiz.com网站
关联推荐:
Shading In Between Two Lines In Tableau (Using Area Charts) – Tableau Tips With TableauTimothy
by Timothy Manning
喜乐君,您的任何一个案例能否留下原始数据表以便我们练习?另外, 你的新书中”Tableau 10大表计算”的数据源是没有的,你网盘中下载的内容中也没有,能否发给我一下. 不然书中第九章我们看了都是白看。谢谢
赞赞
默认数据就是超市数据,股票数据太大不便于分享。
十大表计算是官方数据,出版社网站链接中有。
赞赞
麻烦把链接发一下
赞赞
Tableau十大表计算 https://www.tableau.com/zh-cn/about/blog/2019/11/top-10-tableau-table-calculations
对应我的博客文章 https://yupengwu.com/2019/03/29/table-calcuation-of-tableau-10-case/
赞赞