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

Power BI计算列IF语句对度量值小时判断失效问题

问题解决:Power BI中逐行判断小时值大小标记异常

问题根源

你当前的valid计算列全部显示"Good",核心原因是计算列中引用度量值时,度量值的上下文是整个表而非单一行。hourhigh和hourlow作为度量值,在计算列中不会自动适配逐行上下文,导致比较逻辑失效,无法正确判断单行的小时大小关系。

解决方案

有两种可行的修改方式,任选其一即可:

方式1:将小时提取逻辑改为计算列

把hourhigh和hourlow从度量值改为计算列,确保每一行都能正确提取对应时间戳的小时:

// hourhigh 计算列
hourhigh = HOUR([timestamp_high])

// hourlow 计算列
hourlow = HOUR([timestamp_low])

// valid 计算列(保持原逻辑即可)
valid = IF([hourhigh] > [hourlow], "Bad", "Good")

方式2:在valid计算列中直接内嵌小时提取逻辑

无需单独创建小时字段,直接在valid计算列中完成小时提取与判断,更简洁:

valid = 
VAR h_high = HOUR([timestamp_high])
VAR h_low = HOUR([timestamp_low])
RETURN IF(h_high > h_low, "Bad", "Good")

验证效果

修改后,你的示例数据中以下行将正确标记为"Bad":

  • 04/11/2023:hourhigh=5,hourlow=23 → 标记"Bad"
  • 06/11/2023:hourhigh=3,hourlow=23 → 标记"Bad"
  • 11/11/2023:hourhigh=1,hourlow=21 → 标记"Bad"
  • 13/11/2023:hourhigh=5,hourlow=20 → 标记"Bad"
  • 14/11/2023:hourhigh=0,hourlow=20 → 标记"Bad"
  • 19/11/2023:hourhigh=1,hourlow=21 → 标记"Bad"
  • 24/11/2023:hourhigh=0,hourlow=20 → 标记"Bad"
  • 26/11/2023:hourhigh=0,hourlow=20 → 标记"Bad"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 22:34:54