数据可视化分析:Tableau原理与实践(全彩)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.5 高级计算:在Prep Builder中计算排名

Prep Builder 2020版本推出了两个高级计算,其一是3.4.2节介绍的FIXED LOD,其二是排名,分别对应Desktop中的“LOD表达式”和表计算。把之前视图层次中的二次聚合计算技术加入数据整理的环境,有助于更好地发挥数据分析师和IT部门的技术优势,也有助于帮助搭建数据整理的模型。

建议初学者完全跳过本节,在掌握第10章之后重读。

3.5.1 单一维度的排名计算

排名(Rank)通常是对聚合度量的排名,比如各地区销售额排名、各品类销售额沿着各月度的排名变化等。所以,排名和前面的FIXED LOD是紧密相连的。

比如,要计算各个地区的销售额排名,首先通过“固定LOD”(FIXED LOD)功能计算“每个地区的累计销售额”,如图3-38左侧所示。

图3-38 先使用FIXED LOD表达式创建字段,再基于字段创建排名

然后,基于新增加的LOD字段上创建“排名”,如图3-38所示,在“固定LOD2”字段上,点击“…”按钮选择“创建计算字段→排名”命令,结果如3-39所示。默认的排序是相对行级别的位置而言的,因此差异很大。点击“排名”可以选择多种排名方式,建议改为“密集排名”,这样就可以用连续数字排名,忽视中间差异。除了排名方式,还可以选择降序或升序排列,如3-39所示。

图3-39 在Prep Builder中设置排名

这样,就为聚合销售额分别标记了1~6的排名编号,间接地实现了所有明细数据中每个地区字段都增加了排名标签。由于明细数据非常多,所以在做可视化分析时要注意将排名字段改为维度,或者用度量的平均值显示。

3.5.2 具有分区字段的排名计算

上面的排名计算仅仅涉及一个维度,那如何对“每个分类下的每个地区销售总额”进行排名呢?和上面相比,这里增加了一个排名的范围字段:分类。排名应该在每个分类中重新开始。

首先,使用“固定LOD”功能计算“各个分类、每个地区的销售总额”、相当于可视化的创建方式,直接使用计算字段创建更加方便,如下:

{FIXED [类别],[地区]:SUM([销售额])}

其次,在上面“固定LOD”的计算结果基础上创建排名。这里需要增加一个“分组依据”字段,在每个分组依据内,排名都要重新开始。另外排名方式改为密集排名(Rank_Dense),如图3-40所示。

图3-40 Prep Builder中有分组的排名

这样,就在每个类别下为每个地区设置了排名1~6,在Desktop中预览数据,无须表计算即可完成排序,如图3-41所示。

图3-41 基于Prep Builder的排名字段,完成可视化

Prep Builder的排序还能实现更复杂的分类和排序,在系统学习表计算之后,参考多个方向和多个范围的表计算排序,可以重新审视这里的设置。

3.5.3 行级别排名与密集排名

使用Prep Builder的排名最关键的一点是,排序是按照指定条件在明细级别的排名,而不像Desktop是对聚合数据的排名。

如图3-42所示,基于“地区”字段,选择“创建计算字段→排名”命令。此时不增加任何分组依据字段,也不额外增加排序字段,“西南”区域排名第1,而“西北”区域排名第922。这里的922具体指什么呢?

图3-42 Prep Builder基于地区字段做默认排名

在数据源中,6个地区的位置排序是“西南—西北—华北—华东—中南—东北”。排名默认采用并列排名的规则,在图3-42中,每个地区的灰色阴影代表有多少个相同的数值。比如,“西南”在数据源中有921条,因此“西南”地区的921笔交易都并列第1;而“西北”排在西南之后,“西北”的第1笔交易,正好是全国第922笔交易,所有西北的交易都并列排名第922。可见这个排序是按照地区将明细数据排序后的编码。

为了更好地表示这个逻辑,不妨用图3-43理解。地区默认按照数据源顺序排序,每种颜色代表一个地区,每个点代表地区的一次交易,视图的详细级别是商品交易。“西北”的第1笔交易正好在数据源中是第922笔交易。

图3-43 使用Desktop理解明细级别的排名

Tableau支持多种排名规则,规则的差异主要体现在并列排名时的不同处理方法。上述默认按照位置排名的方式称之为“标准竞争排名”,并列排名使用同一个数字。常见的排名规则还有“密集排名”“调整后的竞争排名”“百分位排名”“唯一排名”,假设对一组数据{3,5,5,9,9,10}排名,其结果如表3-1所示。

表3-1 排名结果

Prep Builder的排名支持“常规竞争排名”(默认)、“密集排名”和“百分位排名”3种方式,排名时阴影会显示并列排名的数量。其他几种排名规则可在Desktop的表计算中使用,详见第9章。

图3-44 Prep Builder的排名规则

通常,数据分析时会使用“密集排名”,强调先后顺序,而忽略所在的位置。

因此,虽然使用Prep Builder排名很好,但是需要与聚合结合起来。由于本部分内容涉及高级计算,建议大家学习完第2篇计算部分之后再重读此小节。

Prep Builder支持高级计算,有助于数据分析师和IT分析师更好地准备数据模型,通过在数据层面做好预先计算,可以提高高级计算的应用范围,并提高稳定性。