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

Power BI创建重复行信息新列:Excel公式等效实现问题

在Power BI中实现Excel填充上一行有效值的逻辑

你的Excel公式核心是:当前行A列是指定物料类型时返回对应值,否则继承上一行的有效物料类型。Power BI里可以通过两种方式实现,具体如下:

方法一:Power Query(推荐,数据加载时处理)

这是最高效的方式,在数据导入阶段完成处理:

  1. 打开Power Query编辑器,选中你的数据表
  2. 添加自定义列(点击【添加列】→【自定义列】),输入公式(替换[物料列]为你实际的A列列名):
    if List.Contains({"Finished Goods", "Raw Material", "Consumables"}, [物料列]) then [物料列] else null
    
  3. 选中新生成的自定义列,点击【转换】→【填充】→【向下填充】,此时空值会自动填充上一行的有效物料类型
  4. 按需重命名列或替换原列,关闭并应用更改即可

方法二:DAX计算列(模型中动态处理)

如果需要在数据模型中生成计算列,先给表添加索引列(Power Query或DAX生成都可以,保证行顺序和原数据一致),然后创建计算列:

物料类型 = 
VAR 当前行索引 = '你的表名'[索引]
VAR 上一个有效值 = 
    CALCULATE(
        MAX('你的表名'[物料列]),
        FILTER(
            '你的表名',
            '你的表名'[索引] < 当前行索引 &&
            List.Contains({"Finished Goods", "Raw Material", "Consumables"}, '你的表名'[物料列])
        )
    )
RETURN
    IF(
        List.Contains({"Finished Goods", "Raw Material", "Consumables"}, '你的表名'[物料列]),
        '你的表名'[物料列],
        上一个有效值
    )

原理是通过索引筛选当前行之前的所有行,找到最后一个符合条件的物料类型值,实现和Excel公式相同的继承效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 09:52:08