如何在Power BI矩阵中展示带原始值的父子层级结构
Power BI矩阵父子层级显示原始值的实现方案
核心思路
默认矩阵会对父级行的数值自动聚合,要实现父/子项均显示自身原始值,需通过DAX度量值规避自动聚合,同时正确绑定父子层级结构。
步骤1:准备数据模型
确保你的表包含以下核心字段:
- 唯一ID(区分每个节点)
- 父ID(建立父子关联)
- 节点名称(用于层级显示)
- 原始值字段(每个节点对应的数值)
步骤2:创建关键DAX度量值
编写度量值直接返回当前节点的原始值,避免聚合:
原始值 = VAR 当前节点ID = SELECTEDVALUE('你的表名'[ID]) // 提取当前节点自身的原始值 RETURN CALCULATE(MAX('你的表名'[Value]), '你的表名'[ID] = 当前节点ID)
注:使用MAX是为了在单个节点上下文返回唯一值(因为每个ID对应唯一Value),也可改用MIN,效果一致。
步骤3:配置矩阵视觉对象
- 在数据视图中选中你的表,点击「建模」选项卡 → 「新建层次结构」,将节点名称字段添加到层次结构中(若系统已通过父ID自动识别层级,可直接用生成的层级)。
- 将创建好的层次结构字段拖到矩阵的「行」区域,开启行标题的折叠/展开功能。
- 将「原始值」度量值拖到矩阵的「值」区域。
- 点击值区域的度量值,确认汇总方式为「不汇总」(若度量值已确保返回单个值,此步可省略)。
步骤4:验证效果
此时矩阵会显示:
- 父项节点:直接显示自身原始值
- 子项节点:显示对应子项的原始值
完全符合不计算、仅展示原始值的需求。
避坑提示
- 不要使用《DAX Patterns:父子层级》中的聚合类函数(如PATHAGGREGATE),这类函数用于计算父级汇总值,与需求冲突。
- 若父项无自身原始值,可修改度量值返回
BLANK()或自定义文本。
内容的提问来源于stack exchange,提问作者Motan127 s
相关产品推荐
相关产品推荐

