跳至正文

【喜乐君书摘】9.3让交叉表更实用:增加可视化修饰的方法

本文来自于《业务可视化分析:从问题到图形的 Tableau 方法》(2024年第三次印刷)第九章。点击链接,可以购买。

第九章 指标概览:文本表及其延伸形式

过去,传统三大图(条形图、折线图、饼图)在分析中使用最多,随着数据增加、业务越来越复杂,越来越多的图形被普及。每个图形背后都是交叉表(cross table),本书统称为“三图一表”。交叉表有时也被称为文本表。
通常,单一或者单行的度量值被称为“文本表”(text table),而矩阵结构中的文本表又可以被称为“交叉表”(cross table)。
本章介绍文本表的使用场景,以及其与其他图形的最佳组合方式。

9.3  让交叉表更实用:增加可视化修饰的方法

交叉表数据密度高,但是它的不足也显而易见——数据太多,没有必要的排序和分类。这样的交叉表难以聚焦视觉注意力,参考第4章4.3.3节的方法,可以通过增加颜色、形状,甚至结合图形增强数据的易分辨性——本质是增加了数据对比的引导。

按照方法和难度的不同,也可以分为两种处理方法:在交叉表样式不变的基础上使用颜色、调整文本格式等(简易法,见9.3.2节和9.3.3节);通过自定义坐标轴,做高度“文本自定义”,甚至与图形结合(高级法,见9.3.4节和9.3.5节)。

9.3.1  典型交叉表的样式与说明

为了讲解如何增加可视化方面的修饰,这里依次双击维度和度量创建一个经典的交叉表,图9-6展示了“2020年区域关键业绩指标(度量值)”。

图9-6  经典交叉表样式:“2020年区域关键业绩指标(度量值)”

在接下来的简易可视化修饰中,保留上述结构;而在高级可视化修饰中,则用类似“记录数”的自定义坐标轴(通常是0轴)来修饰度量。

在增加文本修饰之前,首先介绍一下交叉表的关键构成。

度量值和度量名称是Tableau中为数据表自定义创建的辅助字段——“度量名称”是多个度量的分类字段,如同DATENAME函数是对日期的维度化一样;“度量值”则是为了生成一个适用于所有度量的公共基准。它们的目的都是为了简化多个度量的可视化过程,在此前的多度量条形图、多度量折线图内容中都有所涉及。可以借助Excel理解这个过程,如图9-7所示。

图9-7  Tableau中的辅助字段:度量值、度量名称和记录数

理解度量值和度量名称的关键有以下3点。

(1)度量值和度量名称都是跨字段的多个数据值,不像“客户名称”只对应一个字段名称、一组数据值;因此,它们会对多视图中的多个列产生修饰作用。

(2)度量值是连续的度量,会创建坐标轴,范围是视图中的所有数据。

(3)度量名称是离散的分类,有助于分类,可以创建筛选。

9.3.2  简易法:基于度量名称的颜色修饰

在保持交叉表样式不变的情形下,可以使用“标记”中的“颜色”和“文本设置”,增加可视化修饰,这是最简单的增强修饰方法。

颜色永远是首选的可视化修饰方法。

可以把“度量名称”或者“度量值”加入“标记”的“颜色”卡中,用于增强视图效果,二者结果有明显不同。如图9-8右上角所示,度量名称标记颜色没有实质业务意义(虽然有助于区分列),度量值标记颜色跨度又太大,不同列之间没有可比性,难以区分重点,比如利润同比下滑的地区。

图9-8  直接使用度量名称和度量值增加颜色修饰

有效的颜色标记是使用颜色突出不同度量值的大小高低,每个度量名称的坐标轴是独立的,在弹出的快捷菜单中而非基于公共的度量基准。如图9-9左下角所示,可以在“标记”中的“度量值”颜色上右击,在弹出的快捷菜单中选择“使用单独的图例”命令,把公共基准坐标轴颜色图例按照度量名称拆分为不同的坐标轴。

图9-9  为每个度量名称设置单独的图例坐标轴,并设置颜色减少混乱

不过,度量越多,颜色也越混乱,这就走向了“公共基准度量”的反面。为此,可以通过编辑坐标轴的颜色,将一些非重点度量调整为同一种颜色,比如将“销售额”和“毛利额”都改为黑色,仅保留“利润”、“利润同比”与“利润率”的颜色。在图例上编辑颜色,在弹窗中选择“自定义发散”并设置两侧颜色为相同的黑色,渐变颜色改为2阶即可。

在交叉表中,“标记”中的“大小”“文本”都无法发挥它们的价值,因为视图统一受度量名称和度量值控制,牵一发而动全身。“颜色”和“形状”是仅有的控制方法。在简单交叉表中,可以为百分数设置上下的箭头形状标记——使用“设置格式”实现自定义控制。

除了百分数、小数、货币符号等常规设置,很多工具支持Excel中的“自定义格式”设置——通过“#.##”的方法,分别为正数、负数、0增加符号标记。

图9-10  使用自定义数据格式,为正数、负数、0设置格式(此处使用了大量空格分界,注意空格也会影响格式)

“设置格式”在所有的设置中优先级最低,它独立于视图框架,不过上述方法也仅限于正负值的情形。如果要按照“是否大于10%”为判断条件,为“利润率”设置颜色和形状,就需要改变视图的框架,这是高级计算的内容。

总结:在不改变交叉表度量名称/度量值框架的前提下,使用颜色突出每一列的高低数据,是简单且通用的做法;而为正负数值分类设置自定义形状,同样简单有效。

9.3.3  简易法:基于单一度量的突出显示表

有一种更简单的情形:交叉表关注一个聚合度量,没有度量名称和度量值字段,其他度量字段作为背景使用。此时“标记”中的“颜色”“大小”“文本”就都有了更好的可用空间,甚至可以为单一度量增加背景颜色,即“突出显示表”。

以日历矩阵为例,图9-11展示了某个月份中各周每天的销售额总和、利润率。将标记类型改为“方形”,配合“颜色”控制就有了突出显示的层次性;可以添加多个“文本”标签,如同将其置于矩形颜色框中,作为辅助要素。对于正负的比例指标,还可以通过“设置格式”增加形状箭头与颜色结合,进一步引导领导注意到关键指标。

图9-11  增加背景颜色的矩阵日历突出显示表

在这里,有多个字段在文本标签中,可以编辑它们的位置、对齐方式,甚至颜色,比如这里的“天”左对齐、“利润率”为红色。Tableau的敏捷能力是建立在“标记”基础上的,“标记”中的样式、颜色、大小、文本等属性赋予数据丰富性,其中“文本自定义”命令是接下来高级设置的关键基础。

与此相关的一个“文本自定义”案例,是如何把多个度量值置于度量名称之上,从而突出度量值。

如图9-12所示,左侧代表默认的“多度量值交叉表”,它由“标题”和“文本”构成,标题永远会占据第一行——就像Excel中一样。“位置”是可视化第一要素,那么如何调换标题和文本的位置,突出度量值而非度量名称呢?

图9-12  把度量名称的标题行置于文本中,从而突出度量值

首行标题默认不可更改位置,我们可以通过“隐藏标题行”或将标题字段置于单元格中的方式间接实现。具体方法如下。

(1)在列中的“度量名称”字段上右击,在弹出的快捷菜单中取消勾选“显示标题”复选框,隐藏标题行。

(2)复制“度量名称”字段到“标记”中的“文本”卡中,并拖动位置或进行编辑,比如增加“度量值”的字号和颜色,进一步突出。

这样就为完全数字化的表格增加了可视化的元素,通过“位置”突出了度量值,从而使其焕发了新的生机。

9.3.4  高级法:基于坐标轴和标记的“文本自定义”

在保持交叉表矩阵不变的前提下,使用颜色、标签、形状等方式增强表达,是最简单、最常见的表达方式。但是,如果需要增加更复杂的效果,比如在有多个度量时增加形状标记、将多个文本表组合在一起、与条形图等结合,就要改变可视化结构。通过把数据置于(隐藏的)坐标轴上,可以扩展更多可能。当然,这需要分析师熟练使用坐标轴、双轴等相关技巧。

由于其中的细节繁多、过程复杂、宽度不好控制,不建议初学者使用,但也可以用来了解Tableau基于标记的高级增强方式的基本思路与方法,之后循序渐进。初学者需要在熟练掌握基本图形和标记用法之后,重新理解9.3.4节与9.3.5节。相关内容会发布到Tableau Public中供大家下载参考。

比如,分析“2020年技术类别中,各子类别的利润、利润同比”,为了有效节约视图空间,这里首先使用“文本自定义方法”将它们合并在一起展示,并额外创建一个形状标识。

这就需要把多个数据值加入“标记”的“文本”卡中,并自定义格式,在同一列的单元格中实现更加丰富的组合——本书称为“文本自定义”

如图9-13右侧所示,使用快速表计算创建利润的同比增长字段(胶囊后面有△符号),而后把它和“利润”加入“文本/标签”位置,就创建了包含两个文本标签的文本表。为了增强可视化,还可以把“利润同比”字段加入颜色。

为了突出同比增长/下降的方向性,可以为其增加上下箭头,有两种方法:①“设置格式”方法;②使用“标记”中的“形状”样式。如图9-13左侧所示,第②种方法需要先将“标记”样式从“文本”改为“形状”,然后增加一个判断条件到“形状”位置(利润同比字段复制到“形状”位置,之后双击补充输入“>0”),再点击形状选择箭头图形。这里的视图完全是通过“标记”控制的,属于第4章4.3.3节“基于标记的增强分析”的高级用法。

图9-13  使用文本自定义和形状组合数据点 (注意,当标记的样式从“文本”改为其他样式时,
“文本”就会改为“标签”)

注意:不同的形状设置,其视图有明显的差异。使用“标记”中的“形状”命令,颜色只对形状有效,此时文本可以点击并编辑颜色,但不能增加条件;基于“设置格式”的形状等同于文本,可以与颜色同步。

接下来,进入进阶的环节:如何在保留上述“文本自定义”样式的同时,增加销售额、利润率等更多的数据列呢?

此时,把“度量名称”重新加入“列”是不行的,因为基于度量值/度量名称的交叉表结构只有一个“标记”可用,无法实现更多的文本自定义。既然标记对应坐标轴,那么可以创建一些隐藏而不影响数据的“坐标轴”来实现布局,类似环形图中使用的“0值坐标轴”。

如图9-14所示,在“列”中增加多个自定义数字轴,比如“0”和“0.1”坐标轴,它们不会影响当前层次的度量聚合,但会创建多个坐标轴,从而生成多个“标记”区域可供深入设置,为“文本自定义”提供广阔空间。

图9-14  通过自定义坐标轴,将文本自定义样式植入坐标系中,间接生成“交叉表”
(注意,由于坐标轴默认从0开始,创建0.1坐标轴相当于创建了一个0~0.2的空间,
有助于布局自定义——让形状布局到右侧,使用5创建坐标轴与此同理)

理论上,可以创建更多的自定义坐标轴,并把销售额、毛利额、利润率等更多数据植入其中。最后,隐藏坐标轴,就可以设置为类似交叉表的样式——它具备交叉表中密集数据的形式,又借用了连续坐标轴图形的多样性。它用图形化的思路,间接实现了标准的交叉表样式,如图9-15所示。

在这里,每个坐标轴对应的标记都可以单独自定义颜色、文本,甚至形状,多个文本则可以自定义对齐、颜色及附加文本。需要特别注意的是,这里在自定义坐标轴的基础上,通过修改坐标轴标题来显示真实的度量含义,最后还要“隐藏刻度”。

美中不足的是,Tableau的坐标轴标题默认在下方,而非上方,这违背了交叉表最基本的初衷——标题在顶部,即最重要的位置。要在保持图形逻辑的前提下,把“坐标轴标题”转移到上方,有两种基本方法。

(1)创建双轴,通过另一个自定义坐标轴,把当前轴“挤”到上方。

(2)使用标题创建单独的文本工作表,与已有工作表在仪表板中拼接(不建议)。

图9-15  基于自定义坐标轴和文本自定义的丰富形态

Luke Stanke[1]在其“增强表格修饰的26种方法”的作品中,使用了第(2)种方法,它适合新用户,但是不够稳定,容易偏移错位。本书推荐使用“双轴图”并编辑轴标题——使用双轴构建视图,应该是分析师的基本技能。

如图9-16所示,通过增加3个自定义“0”轴,与原有坐标轴实现双轴并调换位置,就可以把原有标题转移到顶部。甚至可以使用新增加的坐标轴增加辅助说明或者引入全新度量字段。

图9-16  通过双轴把标题转移到顶部,并增加更多度量显示

至此,本书介绍了高级交叉表自定义所需要的主要方法,还有一些高级控制的技巧,比如使用甘特图样式控制布局、通过同步轴控制布局等方式,读者可以在熟练之后进一步探索。

9.3.5  高级法:使用自定义字段逻辑控制形状或其他

在9.3.4节中,介绍了通过“颜色”和“设置格式”增加形状是最基础的可视化方式,而基于标记的自定义坐标轴、“文本自定义”和形状则是最主要且普遍使用的交叉表可视化修饰方法。高级用户可以基于计算字段实现更多的高级控制,这里使用最基本的IF逻辑函数,介绍第③种增加形状的方法:使用逻辑函数创建自定义的字符形状,甚至字符串。

如图9-17所示,在主视图中,除了使用此前的两种方法增加形状符号,第3列使用了“自定义计算逻辑”,以是否高于全年平均利润率为判断标准,创建形状作为文本内容(C1),创建出了字符串作为工具提示内容(C2)。

图9-17  使用自定义字段逻辑,实现更高级自定义形状和文本修饰

为了保持思考的连贯性,笔者推荐直接使用“即席计算”创建字段,只有足够复杂(比如上面的RANK排序字段)或者反复使用时才创建为自定义字段保留,有助于保持左侧字段区域的简洁,也易于早期完善。计算是高级可视化的基础,它为分析打开了无限世界。这里在表计算基础上创建了排序符号(C3),使用“狭义LOD表达式”在总公司层面计算了平均利润率(C4)并设置了基于判断的形状(C1)和标签(C2)。

推荐高级用户阅读一下Luke Stanke的作品“增强表格修饰的26种方法”。如图9-18所示,展示了Luke Stanke制作的多种典型表格(有裁剪)。

图9-18  Luke Stanke的典型表格推荐(注意作者使用仪表板拼接出了上述的标题)

当然,随着视图越来越复杂,所需要的注意力资源也更多,因此,笔者不推荐在业务环境中过度使用这种交叉表样式。尽可能保持简洁、有效和数据密度之间的平衡。下面阐述笔者的几点建议。

(1)“内容永远大于形式”,不要被形式主义所束缚。可视化的外表就像人的衣服,应该关注表达的业务意义,而非一味追求形式上的炫酷。很多人“只重衣衫不重人”,领导通常是例外,这也是他们成功的原因之一。

(2)不推荐在仪表板中通过拼接完成交叉表,否则后期维护成本会越来越高,有违敏捷分析的本意,所以在业务中谨慎使用Luke所述26种方法中后面的拼接样式。

(3)交叉表中引用计算,多使用聚合和表计算,少使用行级别计算,有助于提高视图的综合性能;滥用行级别计算代替表计算,是笔者在客户中见到的最主要、最普遍的问题之一,它们会导致严重的性能障碍。数据准备和计算不在本书范围内,以后有机会会完整阐述。


[1]  Luke Stanke为Tableau Visionary成员,作品可以通过Tableau Pulic下载,他的博客也值得阅读。

了解 喜乐君 的更多信息

立即订阅以继续阅读并访问完整档案。

Continue reading