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

PowerBI/PowerQuery自定义列问题:双表正值判断全返回Negative

PowerQuery自定义列全显示Negative的问题解决

问题根源

你写的Table1[#"Column A"] = "Positive"是在判断整个Table1的Column A列是否所有值都是Positive,而不是当前行关联ID对应的单个单元格值。只要Table1里存在一个非Positive的行,这个条件就永远不成立,最终导致所有结果都是Negative。

正确实现方式

因为两表通过唯一ID关联,你需要获取当前行ID对应的Table1中Column A的具体值,再做判断,以下两种方法都可行:

方法1:用LookupValue(推荐,适合ID唯一的场景)

直接在Table2的自定义列中写入以下代码,把ID替换成你实际的关联列名:

if [#"Column B"] = "Positive" and LookupValue(Table1[#"Column A"], Table1[ID], [ID]) = "Positive" then "Positive" else "Negative"

方法2:用Table.SelectRows获取匹配行

如果需要处理ID匹配不到的情况(避免报错),可以用这种方式:

let
    CurrentRowID = [ID],
    MatchRow = Table.SelectRows(Table1, each [ID] = CurrentRowID),
    ColumnAValue = if Table.RowCount(MatchRow) > 0 then MatchRow{0}[#"Column A"] else null
in
    if [#"Column B"] = "Positive" and ColumnAValue = "Positive" then "Positive" else "Negative"

额外检查项

  • 确认两表的关联ID列数据类型完全一致(比如都是文本或都是整数),类型不匹配会导致匹配失败
  • 检查Positive的大小写是否完全统一,PowerQuery是大小写敏感的,"positive"和"Positive"会被判定为不同值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 02:53:17