如何在Tableau中基于[Fund] = XX条件编辑Top N筛选器
如何在Tableau中基于[Fund] = XX条件编辑Top N筛选器
嘿,我完全懂你遇到的麻烦——直接把[Fund]拖进筛选器的话,Tableau会先过滤掉非XX的基金数据,再计算Top N,这显然不是你想要的逻辑(毕竟你要的是针对Fund=XX的这批数据单独算它的Top N)。别担心,我们可以用计算字段来精准实现这个需求,步骤如下:
第一步:创建自定义计算字段
新建一个计算字段(命名比如“XX基金Top 10标记”),输入类似下面的公式:IF [Fund] = 'XX' THEN RANK_UNIQUE(SUM([你的核心度量字段])) <= 10 END这里解释下:
[Fund] = 'XX'先锁定你要的基金范围RANK_UNIQUE(SUM([你的核心度量字段]))会给该基金下的所有记录按你指定的度量(比如交易额、利润这类)进行排名<=10就是筛选出排名前10的记录
注意:如果你的度量用的是其他聚合方式(比如AVG、MAX),把SUM换成对应的函数就行;要是需要并列排名都算进Top N,可以把RANK_UNIQUE换成RANK_DENSE。
第二步:用计算字段做筛选
把刚创建的这个计算字段拖到筛选器面板里,选择“True”选项。这样一来,Tableau就会先给Fund=XX的所有数据计算排名,再筛选出前10的记录,完美解决你之前的问题。
如果你的需求是另一种——“先算所有数据的Top N,再从中挑出Fund=XX的记录”,那步骤更简单:
- 先给整体数据设置Top N筛选(按你原来的逻辑)
- 再添加[Fund] = XX的筛选器,这样就会在全局Top N里只显示符合基金条件的记录
要是你想让Top N的数值可以动态调整,还可以把公式里的10换成一个参数,这样就能随时修改N的大小啦。
备注:内容来源于stack exchange,提问作者Ethan Altmayer
相关产品推荐
相关产品推荐

