Tableau表计算:深入解析特定维度的排序逻辑与实战应用

1. 表计算与特定维度:从“算哪里”到“怎么算”的思维跃迁

很多刚开始用Tableau的朋友,一听到“表计算”三个字就有点发怵,总觉得这是高手才玩得转的东西。其实,你每天都在用它,只是可能没意识到。比如,你在看月度销售额报表时,旁边那一列“环比增长率”,或者“累计销售额”,这些动态计算出来的数字,十有八九就是表计算的功劳。表计算说白了,就是基于你已经画好的这个“表格”或者“视图”本身,进行二次计算。它不回去折腾原始数据,而是在可视化结果上“动手术”。

那“特定维度”又是个啥?你可以把它理解成表计算的“导航仪”和“指挥棒”。当我们创建一个表计算,比如计算每个月的销售额排名,Tableau会弹出一个框让你选“计算依据”。默认可能是“表(横穿)”、“表(向下)”,但这些选项有时候很“傻”,它不知道你到底想按什么顺序来算。这时候,“特定维度”就登场了。它允许你亲自指定一个或多个维度,来精确控制计算的方向、分组和排序逻辑。不夸张地说,搞懂了特定维度,你就掌握了表计算一半的精髓。

我刚开始用的时候也迷糊,为什么同样的WINDOW_SUM函数,选择不同的特定维度,算出来的结果天差地别?后来我琢磨明白了,这背后的核心就两个问题:第一,计算在哪个分组里进行(分区)?第二,计算按照什么顺序来执行(排序)? 特定维度,就是用来回答这两个问题的。没被选入特定维度的字段,会自动成为分区的依据(类似于SQL里的PARTITION BY);而被选入特定维度的字段,则成为排序的依据(类似于SQL里的ORDER BY)。这个思维模型一旦建立,很多问题就迎刃而解了。

2. 实战拆解:用超市数据透视特定维度的核心逻辑

光说不练假把式,我们直接用Tableau自带的“示例-超市”数据来上手。假设我们想分析不同产品类别(Category)在不同年份的销售表现,并计算一些高级指标。

2.1 基础布局与默认计算

首先,我们构建一个最简单的视图:

  1. 把“订单日期”拖到行功能区,并右键将其聚合为“年”,得到“订单日期 年”。
  2. 把“类别”拖到“订单日期 年”的右边。
  3. 把“销售额”拖到列功能区。 现在,你看到一个按年和类别分组的销售额汇总表。接下来,我们创建两个表计算字段来观察。

创建一个计算字段,命名为排名,输入公式:INDEX()INDEX()函数会返回当前分区中每一行的位置编号(从1开始)。再创建一个计算字段,命名为累计销售额,输入公式:WINDOW_SUM(SUM([销售额]))。这个函数会对分区内的销售额进行累加。

把这两个字段拖到列上的“销售额”右边。你会发现,排名那一列全是1,累计销售额销售额完全一样。这是因为,在当前的视图布局下,Tableau不知道该怎么去“分区”和“排序”。它的计算依据默认可能是“表(横穿)”,但在当前视图下不适用,所以计算结果看起来“没生效”。

这时,我们右键单击列功能区上的排名胶囊,选择“计算依据” -> “特定维度”。关键的一步来了:在弹出的对话框中,默认情况下,“订单日期 年”和“类别”两个字段都是被勾选的。这就是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值