理清特定维度的寻址和分区,基本可以搞定表计算的日常应用需求,本节记录要点:
- 为什么要用特定维度
- 单维度应用
- 双维度应用
tableau中的表计算,计算依据中默认封装了表、区的多种计算方式,极大方便了表计算的日常操作。但是这些“快捷方式”也存在一个问题,就是如果视图的行列功能区字段进行了交换,计算可能会发生改变。
举个例子,这里建立了地区、类别和订单日期的交叉表,计算依据选择了区(横穿,然后向下),如下图所示:
当交换行和列后,即原来的地区字段交换到“列”功能区、订单日期字段交换到“行”功能区,计算依据此时仍然是表(横穿,然后向下),即箭头方向没有改变,但计算结果却发生了改变。从视图可以看到,箭头方向变为了按类别横穿,再按订单日期向下,与行列字段交换前正好相反。
要让tableau在行列交换同时,寻址字段和寻址顺序同步调整,并使最终计算结果保持不变,则需要使用计算依据中的另一种方式——特定维度。
选择“特定维度”后,就会出现该视图使用到的所有维度字段供选择。
简单理解,特定维度就是读取数据的路径和顺序,tableau会根据选择的特定维度,将这些维度的分类数据全部读取,这样就表示完成了一个分区,然后再进行下一个分区的读取。
视图中,有三个维度,分别是订单日期、地区、类别,这里依次选择单个维度来观察tableau读取数据的路径和顺序的变化。
选择订单日期作为单一维度。
tableau会按照订单日期字段中的2015、2016、2017、2018,依次读取,从2015开始,到2018结束,这就完成了一个完整的读取周期,然后又接着下一行重新读取。
选择地区作为单一维度。
tableau会按照地区字段中的东北、华北、华东、西北、西南、中南,依次读取,从东北开始,到中南结束,这就完成了一个完整的读取周期,对该视图而言,也就完成了整个视图数据的读取。
选择类别作为单一维度。
tableau会按照类别字段中的办公用品、技术、家具,依次读取,从办公用品开始,到家具结束,这就完成了一个完整的读取周期,然后又接着下一行重新开始读取。
图:地区维度表计算示例
视图中,分别从订单日期、地区、类别三个维度中,任意选择两个维度,通过维度的不同组合及不同顺序,观察tableau读取数据的路径和顺序的变化。
当选择了两个维度的时候,计算依据窗口下方的“所在级别”选项卡变为了可选择状态,里面有一个选项叫“最深”,该选项的运行逻辑是:勾选的维度自下而上读取,简单的说就是,下面的先读取,上面的后读取。
按照读取顺序,分为订单日期+地区以及地区+订单日期。
首先看订单日期+地区
按照“最深”原则,先读取订单日期,再读取地区。
订单日期有四个,2015开始,2018结束
地区有六个,东北开始,中南结束
读取时,先在东北对应的订单日期从左往右读取,即2015开始到2018结束,然后接着从华北对应的订单日期从左往右读取,2015开始到2018结束,一直读到中南结束,至此完成一个完整的读取周期。
推测的箭头方向如下
实际的数字方向如下
接着看订单日期与地区先后顺序交换后的变化,即地区+订单日期
按照“最深”原则,先读取地区,再读取订单日期。
地区有六个,东北开始,中南结束
订单日期有四个,2015开始,2018结束
读取时,先在2015对应的地区从上往下读取,即东北开始到中南结束,然后接着从2016对应的地区从上往下读取,东北开始到中南结束,一直读到2018结束,至此完成一个完整的读取周期。
推测的箭头方向如下
实际的数字方向如下
按照读取顺序,分为订单日期+类别以及类别+订单日期。
首先看订单日期+类别
按照“最深”原则,先读取订单日期,再读取类别。
订单日期有四个,2015开始,2018结束
类别有三个,办公用品开始,家居结束
读取时,先在办公用品对应的订单日期从左往右读取,即2015开始到2018结束,然后接着从技术对应的订单日期从左往右读取,2015开始到2018结束,一直读到家具结束,至此完成一个完整的读取周期。然后又接着下一行重新开始。此时的地区为分区字段。
推测的箭头方向如下
实际的数字方向如下
接着看订单日期与地区先后顺序交换后的变化,即类别+订单日期
按照“最深”原则,先读取类别,再读取订单日期。
类别有三个,办公用品开始,家具结束
订单日期有四个,2015开始,2018结束
读取时,先在2015对应的类别从上往下读取,即办公用品开始到家具结束,然后接着从2016对应的类别从上往下读取,办公用品开始到家具结束,一直读到2018结束,至此完成一个完整的读取周期。然后接着往下一行重新开始。地区在这里是分区字段。
推测的箭头方向如下
实际的数字方向如下
按照读取顺序,分为地区+类别以及类别+地区。
首先看地区+类别
按照“最深”原则,先读取地区,再读取类别。
地区有六个,东北开始,中南结束
类别有三个,办公用品开始,家具结束
读取时,先在办公用品对应的地区从上往下读取,即东北开始到中南结束,然后接着从技术对应的地区从上往下读取,东北开始到中南结束,至此完成一个完整的读取周期。然后接着往下一列重新开始。订单日期在这里是分区字段。
推测的箭头方向如下
实际的数字方向如下
接着看地区与类别先后顺序交换后的变化,即类别+地区
按照“最深”原则,先读取类别,再读取地区。
类别有三个,办公用品开始,家具结束
地区有六个,东北开始,中南结束
读取时,先在东北对应的类别从上往下读取,即办公用品开始到家具结束,然后接着从华北对应的类别从上往下读取,办公用品开始到家具结束,一直读完中南,至此完成一个完整的读取周期。订单日期在这里是分区字段。
推测的箭头方向如下
实际的数字方向如下