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

PowerBI筛选指定日期范围时出现'Total Literal expected'报错,求解决方案

PowerBI筛选指定日期范围时出现'Total Literal expected'报错,求解决方案

嗨,我来帮你搞定这个报错问题~

你遇到的「Total Literal expected」报错,大概率是把DAX语法用错了环境导致的!看你写的代码用了&&和DAX风格的FILTER写法,但这个语法在Power Query的M语言环境里是不兼容的——Power Query用的是M语言,逻辑与得用and而不是&&,也不支持DAX的FILTER函数写法,所以才触发了这个错误。

下面分两种常用场景给你具体的解决办法:

场景1:在数据导入/预处理阶段筛选(Power Query编辑器中)

如果想在数据加载到PowerBI之前就把指定日期范围(2024/03/01到2024/04/01)的行保留下来,这么做:

  • 打开Power Query编辑器,选中你的formfull表
  • 点击顶部「开始」选项卡的「保留行」→「保留行依据条件」
  • 先选upLoad_output列,条件设为「大于或等于」,输入2024/03/01;再点击「添加条件」,重复选upLoad_output列,条件设为「小于或等于」,输入2024/04/01,最后确定就搞定了。

或者你想用自定义列的方式写代码(M语言),可以这样:

= [upLoad_output] >= #date(2024,3,1) and [upLoad_output] <= #date(2024,4,1)

添加这个自定义列后,筛选该列值为true的行即可。

场景2:在DAX环境中筛选(报表可视化、计算列/表)

如果是在创建计算列、度量值或者报表视觉对象的筛选器里操作,用DAX语法是没问题的,但要注意正确写法:

  • 要是想做一个判断列(用来后续筛选):
是否在目标日期范围 = 'formfull'[upLoad_output] >= DATE(2024,3,1) && 'formfull'[upLoad_output] <= DATE(2024,4,1)

之后在视觉对象的筛选器里,把这个列的筛选条件设为True就行。

  • 要是直接生成一个只包含目标日期范围的新表:
筛选后日期表 = FILTER('formfull', 'formfull'[upLoad_output] >= DATE(2024,3,1) && 'formfull'[upLoad_output] <= DATE(2024,4,1))

这个写法完全符合DAX规范,不会再出现报错。

备注:内容来源于stack exchange,提问作者db2020

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.17 09:35:29