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

Power BI 查询编辑器:基于列值返回数据的问题求助

解决方案:按条件设置第三列值

步骤说明(以Power Query为例)

  • 先生成第二列的下移版本:添加一个临时列,取值为当前行第二列的下一行内容,最后一行自动设为null
  • 基于第二列的内容,用条件判断生成第三列:
    • 若第二列值为"Agree"或"Strongly Agree",第三列返回null
    • 若第二列值为"Disagree"或"Strongly Disagree",第三列返回临时下移列的对应值
    • 其他情况可根据需求返回null或保留原内容

M语言代码示例

假设数据源表名为Source,第二列名为Col2:

let
    Source = 你的原始数据表,
    // 添加第二列的下移临时列
    Add_Shifted_Col = Table.AddColumn(Source, "Shifted_Col2", each try Source[Col2]{[Index]+1} otherwise null, type text),
    // 生成目标第三列
    Add_Target_Col3 = Table.AddColumn(Add_Shifted_Col, "Target_Col3", each 
        if List.Contains({"Agree", "Strongly Agree"}, [Col2]) then null
        else if List.Contains({"Disagree", "Strongly Disagree"}, [Col2]) then [Shifted_Col2]
        else null // 非上述四种情况的处理,可自行修改
    ),
    // 移除临时列(可选)
    Clean_Table = Table.RemoveColumns(Add_Target_Col3, {"Shifted_Col2"})
in
    Clean_Table

问题排查提示

你之前用双索引列合并失败,通常是索引匹配逻辑出错(比如索引起始值不对应、合并时未正确关联行);添加移位列后出问题,大概率是未处理最后一行的null取值,或者条件判断时的列引用错误。可以检查移位列的生成步骤,确认每一行的下移值是否正确,再验证条件判断的逻辑是否覆盖所有情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 18:24:56