You need to enable JavaScript to run this app. PowerPivot中基于ID与MainID匹配规则按Item聚合数值的方法
优惠活动
大模型
产品
解决方案
定价
更多

PowerPivot中基于ID与MainID匹配规则按Item聚合数值的方法

可落地实现方案

基于你当前的Power Pivot模型关系,不需要调整现有表结构,仅通过计算列即可完全匹配预期展示效果,核心逻辑围绕「分组打标、条件判断」实现:

1. 前置字段准备

因为你已经通过ID字段建立了主表和ID关联表的关系,先在主表新建计算列,把关联表的MainID匹配到每一行,用于后续分组:
关联MainID = RELATED('ID关联表'[MainID])
这一步会给主表每一行都打上所属的MainID分组标识,比如Item100下ID1、ID2、ID3都会被标记到MainID=3的分组里。

2. 新建RolledUpValues计算列

计算列的逻辑覆盖三个核心判断:

  • 按「Item + 关联MainID」维度,对同组的所有Values值求和
  • 校验当前主表行的ID,是否等于它所属分组的MainID
  • 校验通过则返回组内求和值,校验不通过则返回当前行的原始Values
    对应的DAX公式参考:
RolledUpValues = 
VAR CurrentItem = '主表'[Item]
VAR GroupMainID = '主表'[关联MainID]
// 计算当前行所属Item+MainID分组的总数值
VAR GroupSum = 
    CALCULATE(
        SUM('主表'[Values]),
        REMOVEFILTERS('主表'),
        '主表'[Item] = CurrentItem,
        '主表'[关联MainID] = GroupMainID
    )
RETURN
// 仅当当前行ID和分组MainID一致时展示聚合值,否则保留原值
IF(
    '主表'[ID] = GroupMainID,
    GroupSum,
    '主表'[Values]
)

效果校验

公式运行后输出结果和预期完全匹配:

  • Item100分组下,MainID=3的子组包含ID1(25)、ID2(50)、ID3(75):因仅ID3和MainID相等,ID1、ID2展示原始值,ID3行展示组内总和150
  • Item100分组下,MainID=4的子组仅包含ID4(100):因当前行ID和MainID相等,直接展示组内值100
  • Item101分组下,MainID=3的子组包含ID2(40)、ID3(80):因仅ID3和MainID相等,ID2展示原始值40,ID3行展示组内总和120

内容的提问来源于stack exchange,提问作者Bryan Tran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.30 00:06:04