You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Power BI基于另一表条件汇总数值的问题求助

Power BI 层级账户金额汇总度量值修复方案

问题分析

你当前的度量值存在两个核心问题:

  1. 在SUMX遍历上下文里使用SELECTEDVALUE(Table1[Name])无法正确获取当前行的账户标识,导致层级关联逻辑失效
  2. 未明确筛选Non-Base类型账户,也没有正确建立父项与所有子项的层级映射关系

修正后的度量值

Non-Base 金额汇总 = 
SUMX (
    // 仅遍历Table1中的Non-Base类型账户
    FILTER ( Table1, Table1[Member-Type] = "Non-Base" ),
    VAR CurrentAccount = Table1[Account]
    // 获取当前Non-Base账户下的所有子账户(含多层级)
    VAR ChildAccounts = 
        CALCULATETABLE (
            VALUES ( Table1[Account] ),
            // 检查子账户的路径是否包含当前账户(即当前账户是其祖先节点)
            PATHCONTAINS ( Table1[Parent], CurrentAccount ),
            ALLSELECTED ( Table1 ) // 保留切片器对Table1的筛选条件
        )
    RETURN
        // 汇总子账户在Table2中的金额,同时保留Table2的切片器筛选(如Company排除规则)
        CALCULATE (
            SUM ( Table2[Amount] ),
            Table2[Account] IN ChildAccounts,
            ALLSELECTED ( Table2 )
        )
)

额外注意事项

  • 确保Table1的Parent字段是完整层级路径格式(例如"Root|Taxable|SubTax1",用竖线或其他分隔符连接所有祖先节点)。如果你的Parent仅存储直接父账户ID,需先添加计算列生成完整路径:
    完整路径 = PATH(Table1[Account], Table1[Parent])
    
    然后将度量值中的Table1[Parent]替换为Table1[完整路径]
  • 若子项仅包含Base类型账户,可在ChildAccounts的CALCULATETABLE中添加筛选条件Table1[Member-Type] = "Base",进一步缩小计算范围

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 07:30:52