Tableau中如何对特定列唯一值SUM求和?以德国车型续航为例
计算德国独特车型的续航总和(LOD表达式实现)
需求说明
我需要计算德国所有独特车型的续航(Autonomy)总和,数据源如下:
| 编号(Key) | 车型(Car model) | 国家(Country) | 颜色(Color) | 续航(英里)(Autonomy (miles)) |
|---|---|---|---|---|
| 1 | ID3 | 德国 | 绿色 | 340 |
| 2 | Polestar 2 | 瑞典 | 黄色 | 335 |
| 3 | EQS | 德国 | 蓝色 | 450 |
| 3 | EQS | 德国 | 红色 | 450 |
正确结果应为 340+450=790。编号(Key)是车型的唯一标识符,即便颜色不同,同一Key对应的车型续航仅需计算一次。尝试用INCLUDE/FIXED LOD表达式实现但操作有误,求正确方法。
解决方案
方法1:拆分计算字段
创建计算字段
唯一车型续航,表达式:{FIXED [编号(Key)] : MAX([续航(英里)(Autonomy (miles))])}同一Key下的续航值一致,用MAX/MIN/SUM均可获取单值,确保每个Key仅取一次续航数据。
创建计算字段
德国独特车型续航总和,表达式:SUM(IF [国家(Country)] = '德国' THEN [唯一车型续航] END)
方法2:合并为单一LOD表达式
直接使用嵌套LOD一步完成计算,表达式:
{FIXED : SUM({FIXED [编号(Key)] : IF [国家(Country)] = '德国' THEN MAX([续航(英里)(Autonomy (miles))]) END})}
逻辑说明
FIXED [编号(Key)]强制按唯一车型编号分组,确保每个车型只计算一次续航;- 筛选国家为德国后,对去重后的续航值求和,即可得到目标结果790。
内容的提问来源于stack exchange,提问作者bd00179
相关产品推荐
相关产品推荐

