编者按:本博文已根据 Ellie Fields 的原始内容,于 2019 年 11 月更新。

下文将通过 10 个示例来展示 Tableau 的强大表计算功能。每个示例都以选项卡式视图形式提供一个真实示例和相关说明。您可以下载任何工作簿进行更深入的研究。

表计算是可以应用于可视化中的值的转换。它们是一种特殊类型的计算字段,可根据视图中当前的内容对 Tableau 中的本地数据进行计算。因此,计算结果并未考虑从可视化中筛除的维度和度量。

表计算基础知识

表计算依赖两种类型的字段:寻址字段和分区字段。了解表计算的关键是弄清楚这些字段的工作方式。

  • 分区字段定义范围:它们将视图分为多个分区或子视图。然后将表计算应用到每个分区内的标记。
  • 寻址字段定义方向:它们定义了计算的移动“方向”(例如,在计算汇总或计算值之间的差时)。

这些字段在 Tableau 中的定义方式,取决于我们希望对最终结果进行何种程度的控制。

  • 快速表计算:包含相应详细级别的所有维度,用于分区(范围)或寻址(方向)。根据您的选择,Tableau 会自动将某些维度标识为寻址,将另一些维度标识为分区。对于具有某些结构的视图,可以使用“计算依据”来更改维度类型。
  • 添加表计算:还可以在度量的上下文菜单中使用“添加表计算”选项来添加表计算。这样,您就可以使用“特定维度”来确定哪些维度用于寻址,哪些维度用于分区。
  • 计算依据:从度量上下文菜单中选择“计算依据”,我们就可以根据表的体系结构来进行表计算,或者针对特定字段进行表计算。请记住,视图结构的更改也会改变您的结果。
  • 编辑表计算:从“度量”上下文菜单中选择“编辑表计算”,定义用于在视图中进行分区和寻址的具体字段。无论视图的体系结构如何变化,使用“特定维度”定义的分区和寻址方式都会始终应用于您的结果。

更多信息,请观看视频表计算简介

1.自参考日期开始的百分比变化

利用表计算,可以计算从任意值开始的百分比变化。假设您对某个股票组合感兴趣,并且想评估这些股票从某个时间点开始的相对表现。为此,需要设置一个“投资日期”,并将这些股票标准化到同一个时间点,用线条显示百分比变化。可使用滑块调整参考日期。

使用一个表示参考日期的参数和 WINDOW_MAX 函数来获得参考日期当日的收盘价,这样就能计算股票的相对收益。

2.共同基准

您可能想参照一个公共基准点查看数据,而不是查看一段绝对时间范围的数据。例如,这里是前三部《玩具总动员》电影的票房收入。如果按星期查看自首映日开始的总收入,比较起来就容易多了:

使用 Tableau 的 INDEX() 函数,可轻松计算自首映开始的星期数。在这个例子中,您按电影分区,按天数寻址。

3.一段时间内的总销售额百分比(辅助计算)

很多时候,我们希望一次执行两个表计算。例如,您可能想查看在一段时间内,某个细分市场对公司的重要性如何增加或降低。为此,必须先按细分市场计算这段时间内的销售额汇总,然后将其作为这算时间内的销售总额的百分比来进行考查。在 Tableau 中,这也称为“辅助计算”,您甚至无需编写公式即可完成这些计算。

第 1 轮按细分市场计算这段时间内的销售额汇总。第 2 轮根据每个细分市场在这段时间内的销售额汇总计算其总额百分比。

4.保持名次(即便在排序时)

这里我们需要了解产品在一个月和一年内的排名,然后显示排名随时间的变化。为此,我们创建一个凹凸图,其中以折线图形式显示随时间的变化。可在左侧看到,复印机和传真机已经从销售不佳的产品变成目前销售位列第三的产品。还可以看到,传真机和复印机的购买量波动很大。

经典凹凸图。此图显示采用简单 Rank 表计算和某些高级设置计算的每样产品的销售名次。

5.汇总

现在需要监视呼叫中心未完结的支持案例数量,或者货架存货量。但是系统没有记录未完结案例的滚动合计,您需要推算这项数据。这等于日初开放案例数 + 新开案例数 + 重开案例数 – 已结案例数。

表面看来,这是简单计算。但是,每日的日初数据是根据前一日的日末数据推算的,后者又是根据当日日初数据推算的。这形成了计算的循环引用。

我们使用 WINDOW_SUM 来计算汇总,并确定每天的日末数据。

6.加权平均

对于考试分数或订单优先级等数据,适合采用加权平均分析。也许您想查看各种产品类型所有订单的平均优先级,并且想按订购量加权该优先级,这样订购量大的产品就会得到更高的优先级分数。可以使用加权平均优先级分数来优化订购量大、优先级高的产品的供应链。这里,我们使用 Superstore 销售数据进行加权平均:

这里,我们又一次使用 WINDOW_SUM 来计算每个类别的权重,然后将该权重应用于优先级分数。

7.按计算分组

如果您管理公司的配送运营,可能会对哪些产品的运输成本高于平均值感兴趣。可以计算某个时间窗口的平均值,并在计算中使用计算出的平均值,对各个值进行分组和配色。

8.移动范围的事件数

在零售和情报等多种场景中,往往需要了解某一件事情在一个时间窗口内的发生次数。例如,一次可疑事件可能是一次意外,但是如果在 x 天里发生次数超过 n 次,那就值得调查一下。

圆点表示发出警报或警告的数量 – 通常为 0。零上面的圆点表示当天触发的警报,条形表示警告在 x 天里触发超过 n 次。用户可单击右键,同时显示点和条形的数据。

9.可变时段的移动平均

您已使用 Tableau 中的快速表计算功能,计算了所有月份的销售额移动平均值,但现在希望进行扩展,以便最终用户能够选择要计算多少个时段的平均值。淡蓝色线条显示所有月份的销售额总计,而橙色线条显示 15 个时段的销售额移动平均。

结合使用参数和用于计算移动平均的自定义快速表计算,可计算可变(用户定义)时段的平均值。

10.各时段与平均值的差异

您可能想看到季度销售额与当年平均值的差异。在这里,我们显示了与当年平均值的差异、与总体平均值的差异和订单总数。

详细了解表计算类型和表计算函数

订阅我们的博客