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

PowerBI DAX 计算按ID分组每年最高FTE总和报错问题求助

DAX计算TotalFTE报错解决方案

错误原因

你编写的DAX代码不符合FILTER函数的语法要求:FILTER的第二个参数必须返回布尔值(True/False),而你传入的DISTINCT(Table[ID])返回的是去重后的ID值列表,数据类型不匹配,因此触发计算错误。

正确实现代码

你需要的逻辑是「忽略空ID、按ID+年度分组取每组最大FTE求和」,可以用SUMX迭代分组的方式实现:

TotalFTE = 
SUMX (
    // 按ID、年度分组,过滤ID为空的分组
    FILTER (
        SUMMARIZE ( 'Table', 'Table'[ID], 'Table'[年度] ),
        NOT ISBLANK ( 'Table'[ID] )
    ),
    // 迭代每个分组计算最大FTE后求和
    CALCULATE ( MAX ( 'Table'[FTE] ) )
)

简化版本(适配年度切片器上下文)

如果你的报告中已经通过切片器、行标签等方式指定了年度筛选范围,不需要在度量值内硬编码年度分组,可以简化为:

TotalFTE = 
SUMX (
    FILTER (
        DISTINCT ( 'Table'[ID] ),
        NOT ISBLANK ( 'Table'[ID] )
    ),
    CALCULATE ( MAX ( 'Table'[FTE] ) )
)

参考截图

  • 表样例、中间结果、度量值结果示意图:
    表样例--中间结果--度量值结果示意图
  • 原代码报错信息截图:
    报错信息截图

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 11:54:03