【Tableau Desktop 企业日常问题23】Tableau 筛选之后如何保持原有排序顺序?

本文探讨了如何在Tableau中处理排序问题,通过使用lookup()和max()函数,确保在筛选掉第一项后,第二名的排名保持不变。重点介绍了维度筛选与表计算筛选的区别以及如何通过构建表计算字段实现所需效果。
摘要由CSDN通过智能技术生成

问题描述

对整体的排序的文本表,当我们筛选掉第一名,第二名就会来充当第二名,随后数据进行了重新的排序,这个是因为tableau筛选顺序的原因,维度筛选大于表计算筛选,如下所示:
请添加图片描述

当我们过滤掉第一iphone的时候,第二就会充当第一名。
而我们想要的是当我们去掉第一phones 的时候,第二排名不变(保持原有的排名),如下:请添加图片描述
问题分析
当我们在表计算进行筛选时候,视图会根据我们的操作来就行相应的视图计算。我们需要知道Tableau筛选的顺序:
在这里插入图片描述

因为我们的Sub-category是维度,故在表计算之前的维度筛选时候我们就进行排序。在此之前怎么排序呢?这个时候我们用到了lookup()和max()函数。

具体操作

1.先写一个排序字段:排序

// 默认降序
RANK(SUM([Sales]),'desc')

在这里插入图片描述

2.这里的排序字段其实就是默认的表计算字段,然后将排序字段改成维度,分别将排序,和Sub-category拖入行,双击Sales字段。构建如下所示:

在这里插入图片描述
3.创建一个保留排名字段:

//这里筛选最大的Sub-Category,后面的偏移量0,代表自己
LOOKUP(MAX([Sub-Category]),0)

在这里插入图片描述
4.随后将保留排名字段拖入筛选器当中,显示筛选值,测试一下
请添加图片描述

总结

因为此时显示的已经是咱们在维度筛选计算好的值,所以当我们筛选的时候,里面的排名值不会随筛选值的减少而重新排序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值