如何按轮次计算球队失球数?求Power Pivot的DAX解决方案
Power Pivot DAX 简便计算球队轮次失球数
核心思路
由于每轮仅两支球队对战,某球队在单轮的失球数 = 该轮总进球数 - 该球队自身在该轮的进球数。这个逻辑无需手动指定对手队名,完美解决长队名操作繁琐的问题。
方案1:添加计算列(逐行显示单队单轮失球数)
在你的赛事数据表中新增计算列,公式如下:
失球数 = VAR 当前球队 = '赛事数据'[Team] VAR 当前轮次 = '赛事数据'[轮次] VAR 轮次总进球 = CALCULATE(SUM('赛事数据'[进球数]), ALLEXCEPT('赛事数据', '赛事数据'[轮次])) VAR 本队轮次进球 = CALCULATE(SUM('赛事数据'[进球数]), ALLEXCEPT('赛事数据', '赛事数据'[轮次], '赛事数据'[Team])) RETURN 轮次总进球 - 本队轮次进球
ALLEXCEPT用于保留当前行的轮次/球队上下文,过滤其他无关数据- 自动匹配每行的球队和轮次,无需手动输入任何队名
方案2:创建度量值(透视表中按轮次/球队汇总查看)
如果需要在Power Pivot透视表中灵活筛选查看,创建如下度量值:
失球数(度量值) = VAR 选中球队 = SELECTEDVALUE('赛事数据'[Team]) VAR 选中轮次 = SELECTEDVALUE('赛事数据'[轮次]) VAR 轮次总进球 = CALCULATE(SUM('赛事数据'[进球数]), '赛事数据'[轮次] = 选中轮次) VAR 本队轮次进球 = CALCULATE(SUM('赛事数据'[进球数]), '赛事数据'[轮次] = 选中轮次, '赛事数据'[Team] = 选中球队) RETURN 轮次总进球 - 本队轮次进球
- 透视表中可将「轮次」放行、「Team」放列,值字段选择这个度量值,即可直接查看每队每轮的失球数
- 支持通过切片器筛选特定球队/轮次,自动更新计算结果
内容的提问来源于stack exchange,提问作者Victor Sam
相关产品推荐
相关产品推荐

