Tableau技术求助:创建基于Activity_ID的多条件计算字段
解决Tableau中按Activity_ID分组替换Capacity占位值的问题
你的核心问题是当前计算字段的聚合上下文不对——MAX()默认基于视图的行级维度计算,没有锁定到Activity_ID分组。要实现按Activity_ID取Customer Count的最大值来替换占位值1000,需要用LOD表达式明确指定分组维度。
正确的计算字段
IF [Capacity] = 1000 THEN {FIXED [Activity_ID] : MAX([Customer Count])} ELSE [Capacity] END
关键说明
{FIXED [Activity_ID] : MAX([Customer Count])}:这是固定LOD表达式,会忽略视图中的其他维度(比如Vendor),仅按Activity_ID分组计算该组内Customer Count的最大值,确保每个Activity_ID对应唯一的最大值。- 去掉原表达式中的
MAX([Capacity]):因为你需要判断的是当前行的Capacity值是否为1000,而非行内的Capacity最大值,直接用[Capacity]即可匹配行级数据。
可选调整(如果需要关联其他维度)
如果你的业务逻辑需要按Vendor + Activity_ID组合分组,只需把LOD表达式改成:
{INCLUDE [Activity_ID], [Vendor] : MAX([Customer Count])}
内容的提问来源于stack exchange,提问作者JonathanCohen
相关产品推荐
相关产品推荐

