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

Power BI计算字段:实现层级子项重复上级值的方案

在Power BI中实现层级父项值向下填充至子项记录

可以通过Power BI的DAX计算字段实现该需求,针对两种层级结构分别提供解决方案:

场景一:基于层级路径结构

示例数据

A.CodeA.hierachyA.levelB.valuetopeat
John1/1Senior
Smith1/22---> 默认无数据,需填充"Senior"
Wesson1/2/33---> 默认无数据,需填充"Senior"
Syl2/1Junior
Ves2/12---> 默认无数据,需填充"Junior"
Ter2/1/13---> 默认无数据,需填充"Junior"

DAX计算字段公式

填充值 = 
VAR 顶级层级编号 = LEFT(A[hierachy], FIND("/", A[hierachy]) - 1)
RETURN
LOOKUPVALUE(
    B[valuetopeat],
    A[hierachy], 顶级层级编号 & "/",
    A[level], 1
)

逻辑说明

  1. 通过LEFT和FIND函数提取当前记录层级路径的顶级编号(比如从1/2中提取1)
  2. 用LOOKUPVALUE匹配顶级层级(level=1)对应的B.valuetopeat值,将该值返回给当前子项记录

场景二:基于父子键结构

示例数据

A.KeyA.parentKeyA.CodeB.valuetoRepeat
1JohnSenior
21Smith---> 默认无数据,需填充"Senior"
32Wesson---> 默认无数据,需填充"Senior"
4SylJunior
54Ves---> 默认无数据,需填充"Junior"
65Ter---> 默认无数据,需填充"Junior"

DAX计算字段公式

填充值 = 
VAR 顶级Key = PATHITEM(PATH(A[Key], A[parentKey]), 1)
RETURN
LOOKUPVALUE(
    B[valuetoRepeat],
    A[Key], VALUE(顶级Key)
)

逻辑说明

  1. 使用PATH函数生成当前记录的完整父子路径(比如Key=3的路径为1|2|3)
  2. 通过PATHITEM提取路径的第一个节点(顶级Key)
  3. 用LOOKUPVALUE匹配该顶级Key对应的B.valuetoRepeat值,完成子项填充

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 05:05:19