1. 表计算与特定维度:从“算哪里”到“怎么算”的思维跃迁
很多刚开始用Tableau的朋友,一听到“表计算”三个字就有点发怵,总觉得这是高手才玩得转的东西。其实,你每天都在用它,只是可能没意识到。比如,你在看月度销售额报表时,旁边那一列“环比增长率”,或者“累计销售额”,这些动态计算出来的数字,十有八九就是表计算的功劳。表计算说白了,就是基于你已经画好的这个“表格”或者“视图”本身,进行二次计算。它不回去折腾原始数据,而是在可视化结果上“动手术”。
那“特定维度”又是个啥?你可以把它理解成表计算的“导航仪”和“指挥棒”。当我们创建一个表计算,比如计算每个月的销售额排名,Tableau会弹出一个框让你选“计算依据”。默认可能是“表(横穿)”、“表(向下)”,但这些选项有时候很“傻”,它不知道你到底想按什么顺序来算。这时候,“特定维度”就登场了。它允许你亲自指定一个或多个维度,来精确控制计算的方向、分组和排序逻辑。不夸张地说,搞懂了特定维度,你就掌握了表计算一半的精髓。
我刚开始用的时候也迷糊,为什么同样的WINDOW_SUM函数,选择不同的特定维度,算出来的结果天差地别?后来我琢磨明白了,这背后的核心就两个问题:第一,计算在哪个分组里进行(分区)?第二,计算按照什么顺序来执行(排序)? 特定维度,就是用来回答这两个问题的。没被选入特定维度的字段,会自动成为分区的依据(类似于SQL里的PARTITION BY);而被选入特定维度的字段,则成为排序的依据(类似于SQL里的ORDER BY)。这个思维模型一旦建立,很多问题就迎刃而解了。
2. 实战拆解:用超市数据透视特定维度的核心逻辑
光说不练假把式,我们直接用Tableau自带的“示例-超市”数据来上手。假设我们想分析不同产品类别(Category)在不同年份的销售表现,并计算一些高级指标。
2.1 基础布局与默认计算
首先,我们构建一个最简单的视图:
- 把“订单日期”拖到行功能区,并右键将其聚合为“年”,得到“订单日期 年”。
- 把“类别”拖到“订单日期 年”的右边。
- 把“销售额”拖到列功能区。 现在,你看到一个按年和类别分组的销售额汇总表。接下来,我们创建两个表计算字段来观察。
创建一个计算字段,命名为排名,输入公式:INDEX()。INDEX()函数会返回当前分区中每一行的位置编号(从1开始)。再创建一个计算字段,命名为累计销售额,输入公式:WINDOW_SUM(SUM([销售额]))。这个函数会对分区内的销售额进行累加。
把这两个字段拖到列上的“销售额”右边。你会发现,排名那一列全是1,累计销售额和销售额完全一样。这是因为,在当前的视图布局下,Tableau不知道该怎么去“分区”和“排序”。它的计算依据默认可能是“表(横穿)”,但在当前视图下不适用,所以计算结果看起来“没生效”。
这时,我们右键单击列功能区上的排名胶囊,选择“计算依据” -> “特定维度”。关键的一步来了:在弹出的对话框中,默认情况下,“订单日期 年”和“类别”两个字段都是被勾选的。这就是

361

被折叠的 条评论
为什么被折叠?



