Power BI中如何将父行数据填充至子行空值?
在Power BI Power Query中用父记录数据填充空值
基础层级场景(父行在子行上方)
如果你的表格是父行包含完整数据、子行对应列空值的层级结构,直接用向下填充即可:
- 添加索引列:「添加列」→「索引列」→「从0开始」(用于后续恢复原顺序)
- 按父记录的标识列排序(比如父ID、分组列),确保父行在对应子行的上方
- 选中所有需要填充空值的列,点击「转换」→「填充」→「向下」,空值会自动继承上方父行的对应数据
- 按索引列排序恢复原顺序,最后删除索引列
分组父记录场景(同一组内父行有数据)
如果是分组结构(比如同一组下仅父行有数据,子行空),用分组+填充的组合操作:
- 选择分组依据列,点击「转换」→「分组依据」,设置:
- 分组依据:你的分组列
- 新列名:
GroupedRows - 操作:
所有行
- 右键
GroupedRows列,选择「编辑」,在新查询中:- 选中需要填充的列,执行「转换」→「填充」→「向下」
- 关闭并加载该查询回到原查询
- 展开
GroupedRows列,整理掉多余的列即可
M语言示例代码
let 源 = Excel.CurrentWorkbook(){[Name="你的表名"]}[Content], 添加索引 = Table.AddIndexColumn(源, "索引", 0, 1, Int64.Type), 按父列排序 = Table.Sort(添加索引,{{"父标识列", Order.Ascending}}), 填充目标列 = Table.FillDown(按父列排序, {"列1", "列2", "列3"}), 恢复原顺序 = Table.Sort(填充目标列,{{"索引", Order.Ascending}}), 清理索引列 = Table.RemoveColumns(恢复原顺序,{"索引"}) in 清理索引列
内容的提问来源于stack exchange,提问作者Curtis Glardon
相关产品推荐
相关产品推荐

