当我们在 Tableau 中使用筛选器时,维度筛选器会筛选出原始数据以及视图中的数据。但有些时候,我们并不希望视图中的数据发生改变,尤其在计算总和百分、计算总体排名、移动平均或运行总和的场景中。
例如:下面的分析视图,我们对产品子类别按销售额进行了排序。注意看办公用品类别中“器具”的排名,在所有商品中,它的销售额排第2名(如下图)。
接着,我们想看看办公用品下子类别的具体排名,用右侧筛选器只选中“办公用品”。此时,会发现‘器具’的排名由刚刚的第2名变成了第1名(如下图)。这显然不是我们想要的!
按照业务需求,我们希望:即使筛选不同类别,子类别的排序结果仍然保持它原有的排序(如下图),而不会因为筛选就改变既定的排序。
那么,该如何实现:只筛选视图而不筛选数据呢?这里为大家分享方法
本期《举个栗子》,阿达要给大家分享的 Tableau 技巧是:只筛选视图而不筛选数据。
————————————————————————————》》
为方便学习,栗子使用 Tableau 自带的超市数据源。
Tips:这里涉及到一个表计算的知识点——基于表计算的筛选器不会筛选原始数据。会在视图中隐藏数据,并允许在视图中隐藏维度成员,不影响视图中的数据。
具体步骤如下:
STEP 1:将子类别拖到行,销售额拖到列,然后进行降序排序。
STEP 2:创建一个计算字段:index(),该函数对行进行索引,命名为“排序”,将该字段拖到行,如图所示。
STEP 3:再创建一个计算字段:lookup(max(类别),0),该函数会返回目标行中表达式的值,0是指定为与当前行的相对偏移为0,将该字段拖到筛选器,显示筛选器,并进行筛选。
如此,每一个子类别只有一个排名,不会因为筛选了类别而重新获得名次。基于表计算的筛选器不会筛选出基础数据,而是会在视图中隐藏数据,并允许在视图中隐藏维度成员,而不影响视图中的数据。
今天的 Tableau 技巧,你 Get 到了吗?赶快试试看吧!
下一期《举个栗子》,再会~
文章部分信息来源于网络,如有侵权请告知!
网友评论