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

Power BI中基于其他列规则生成新列D的实现方法求助

Power BI 创建计算列D的实现方案

步骤说明

  1. 确保目标表有唯一排序索引列(如自增ID、日期列),若无则进入Power Query添加「索引列」(从1开始)后加载回Power BI。
  2. 在数据视图选中目标表,点击「建模」→「新建列」,输入以下DAX表达式:
D = 
VAR SortedData = SORT('你的表名', [索引列], ASC)
VAR CalculatedValues = 
    ADDCOLUMNS(
        SortedData,
        "@CalcVal", IF(NOT(ISBLANK([C])), [C], [B] - [A])
    )
VAR RunningTotal = 
    SCAN(
        BLANK(),
        CalculatedValues,
        VAR PrevResult = [Value]
        VAR CurrentCalc = [@CalcVal]
        RETURN
            IF(NOT(ISBLANK([C])), CurrentCalc, PrevResult + CurrentCalc)
    )
RETURN
    MAXX(FILTER(RunningTotal, [索引列] = EARLIER([索引列])), [Value])

代码逻辑解释

  • SortedData:按索引列对表升序排序,保证行顺序符合计算要求
  • @CalcVal:临时计算列,C列非空时取C值,否则取B-A
  • SCAN:迭代遍历每一行,维护上一行的计算结果:
    • 若当前行C列非空,直接用@CalcVal作为当前行D值
    • 若C列空/Null,用上一行D值加上当前行的@CalcVal
  • MAXX:匹配当前行索引,返回对应的计算结果

注意事项

  • 替换表达式中的你的表名和索引列为实际表名和排序列名称
  • 索引列必须唯一且顺序正确,否则计算结果会出错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 18:52:38