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

CALCULATETABLE函数报错:多列无法转换为标量值

DAX CALCULATETABLE 筛选报错问题解决

错误原因

你用ALL(fWMSL_VibrationsAppended[Velocity Overall,in/sec])作为FILTER的第一参数,得到的是仅包含该列的单值列表。但筛选条件里直接引用原表的完整列fWMSL_VibrationsAppended[Velocity Overall,in/sec],此时DAX无法在单列表的上下文中关联原表的完整行记录,导致抛出「表达式引用了多个列。多个列无法转换为标量值」的错误。

正确写法

1. 保留现有筛选上下文(如切片器、其他筛选器的作用)

tbExcess Vel OA Lim := 
CALCULATETABLE(
    fWMSL_VibrationsAppended,
    FILTER(
        fWMSL_VibrationsAppended,
        [Velocity Overall,in/sec] > 1.25
    )
)

这里FILTER遍历原表的每一行,直接引用当前行的[Velocity Overall,in/sec]列进行判断,上下文匹配,不会出错。

2. 忽略所有外部筛选上下文,取全表符合条件的行

如果需要完全移除其他筛选器的影响,直接从整张表中筛选:

tbExcess Vel OA Lim := 
CALCULATETABLE(
    fWMSL_VibrationsAppended,
    FILTER(
        ALL(fWMSL_VibrationsAppended),
        [Velocity Overall,in/sec] > 1.25
    )
)

这里用ALL(fWMSL_VibrationsAppended)获取无筛选的完整表,FILTER遍历全表行进行判断。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 09:00:15