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

Power BI中如何获取指定Account字段所有子项的金额总和?

问题说明

我有一张包含账户和总金额的fact表:

AccountAmount
CC1035-19000
CC1284123400
CC1909200
CC10243500

还有一张account表,通过递归获取了所有父级并划分层级(账户可能属于不同层级和分支,比如CC1909同时属于CC_Shared -> CC_Adm和CC_Report -> RCC -> CC_CSC_Sold两个路径):

ParentAccountLevel1Level2Level3Level4
CC_SharedCC_Shared
CC_SharedCC_AdmCC_SharedCC_Adm
CC_AdmCC1035CC_SharedCC_AdmCC1035
CC_AdmCC1284CC_SharedCC_AdmCC1284
CC_AdmCC1909CC_SharedCC_AdmCC1909
CC_ReportCC_Report
CC_ReportRCCCC_ReportRCC
RCCCC_CSC_SoldCC_ReportRCCCC_CSC_Sold
CC_CSC_SoldCC1909CC_ReportRCCCC_CSC_SoldCC1909
CC_CSC_SoldCC1024CC_ReportRCCCC_CSC_SoldCC1024

需求:

  • 使用切片器选择任意账户(如选择"CC_Adm"),返回其所有子项的总金额(此例应为 -19000 + 123400 + 200 = 104600)
  • 用Level1-4层级构建利润表展示子项数据
  • 之前尝试过Concatenate和度量值,但切片器使用时始终失败,求解决方案

解决方案

一、模型关联调整

确保fact表和account表通过Account字段建立多对多关系(因为一个账户可能出现在account表的多条记录中,对应不同层级路径)。

二、编写核心DAX度量值

创建一个度量值来计算选中账户下所有子项的金额总和,判断当前账户是否是目标账户的子节点(即目标账户出现在该子节点的Level1-4任意层级中):

子项总金额 = 
VAR SelectedAccounts = VALUES('account'[Account])
RETURN
SUMX(
    FILTER(
        'fact',
        COUNTROWS(
            FILTER(
                'account',
                'account'[Account] = 'fact'[Account] &&
                (
                    'account'[Level1] IN SelectedAccounts ||
                    'account'[Level2] IN SelectedAccounts ||
                    'account'[Level3] IN SelectedAccounts ||
                    'account'[Level4] IN SelectedAccounts
                )
            )
        ) > 0
    ),
    'fact'[Amount]
)

三、构建利润表展示

  1. 在报表中添加切片器,选择account表的Account字段作为筛选项
  2. 添加矩阵可视化,将Level1、Level2、Level3、Level4依次拖到行区域,将上述度量值拖到值区域
  3. 若需要只展示选中账户下的层级分支,可以添加筛选器,过滤矩阵中Level1-4包含选中账户的行

四、补充说明

  • 这个度量值会自动匹配所有包含选中账户作为父级的子账户,不管子账户处于哪个层级
  • 如果需要排除选中账户本身(只计算其子项),可以在FILTER中添加额外条件,排除account表中Account等于选中账户的记录
  • 若层级超过4级,只需扩展度量值中的Level判断条件即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 07:47:24