Tableau按类别分组后如何获取评分最大值对应的Name字段值
Tableau 实现分组取最大值对应名称的操作方法
方法1:LOD表达式实现(推荐,无需改动现有聚合表)
- 新建计算字段,命名为
分类最大评分对应名称,输入公式:
{FIXED [Category]: MAX( IF [Number of Ratings] = {FIXED [Category]: MAX([Number of Ratings])} THEN [Name] END )}
- 直接把该计算字段拖到你已做好的聚合表的列区域即可,聚合规则选「最大值」或「最小值」都可,每个分类下只会返回匹配的名称。
多匹配结果处理
如果同一个分类下有多行的Number of Ratings都是最大值,可按需调整公式:
- 只返回单个名称:把外层的
MAX改成MIN即可切换取字符串排序最小/最大的名称 - 返回所有符合条件的名称(Tableau 2021.2及以上版本支持):用
STRING_AGG拼接多个结果:
{FIXED [Category]: STRING_AGG( IF [Number of Ratings] = {FIXED [Category]: MAX([Number of Ratings])} THEN [Name] END, ", " )}
已生成聚合提取表的处理方案
如果你的聚合表是已经导出的独立提取数据集,未关联原始明细数据:
- 将聚合提取表和原始明细表做关联,关联条件设置为
聚合表.Category = 原始表.Category且聚合表.Max Number of Ratings = 原始表.Number of Ratings - 关联后直接调用原始表的Name字段即可。
内容的提问来源于stack exchange,提问作者SarvRam
相关产品推荐
相关产品推荐

