Power BI基于另一表条件汇总数值的问题求助
Power BI 层级账户金额汇总度量值修复方案
问题分析
你当前的度量值存在两个核心问题:
- 在
SUMX遍历上下文里使用SELECTEDVALUE(Table1[Name])无法正确获取当前行的账户标识,导致层级关联逻辑失效 - 未明确筛选
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
相关产品推荐
相关产品推荐

