Tableau关联As of Table计算滚动6个月求和去重问题求助
Tableau多表关联后滚动6个月求和去重解决方案
问题出在多表关联生成的重复行上:当你加入[Month Diff]的条件判断后,每个符合条件的重复行都会把[Flight Count]计入求和,相当于同一个Key_YearMonth_Port的航班数被重复加了N次(N是关联后的重复行数);而单独计算单月时,视图维度是Key_YearMonth_Port,Tableau的聚合逻辑自动把同一维度下的重复值合并了,所以结果准确。
给你两个直接可用的解决方案:
方案1:用LOD表达式先去重再计算
- 先创建一个计算字段
唯一航班数:
{FIXED [Key_YearMonth_Port] : MAX([Flight Count])}
这里用MAX是因为同一Key_YearMonth_Port下的Flight Count重复值都是相同的,取最大值就能得到唯一的单月单港口航班数,避免重复计算。
- 替换原来的滚动计算表达式:
ZN(SUM(IF [Month Diff] < 6 THEN [唯一航班数] END))
方案2:在滚动计算里直接嵌套LOD
不用单独创建字段,直接把去重逻辑写在滚动表达式里:
ZN(SUM(IF [Month Diff] < 6 THEN {FIXED [Key_YearMonth_Port] : MAX([Flight Count])} END))
这两种方法都是先确保每个Key_YearMonth_Port只贡献一次航班数,再进行滚动6个月的求和,同时保留[Port]作为筛选条件的功能,完全符合你的需求。
内容的提问来源于stack exchange,提问作者user22132557
相关产品推荐
相关产品推荐

