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

SSRS技术求助:按日期过滤数据集并添加历史总计列

解决SSRS透视表中添加昨日总计列的问题

我来帮你搞定这个SSRS的问题!你已经搭建好了展示5/15数据的透视表,现在要加一列显示5/14的总计,之前的表达式出问题主要是因为聚合范围没选对,咱们一步步来修正:

问题根源分析

你之前写的两个表达式都有问题:

  • 第一个表达式 =SUM(IIF(Fields!DATE.Value="5/14/2018",Fields!QUANTITY.Value,0)):因为透视表默认的聚合范围是当前筛选后的5/15数据,在这个范围内找不到5/14的记录,所以结果一直是0。
  • 第二个表达式语法本身就错了(IIF缺少第三个参数),而且就算修正,同样会因为聚合范围限制,无法跨日期计算总和。

正确的表达式

要让SUM能跨日期计算指定NAME的5/14总计,你需要指定聚合作用域,也就是告诉SSRS要在整个NAME分组的所有数据里筛选计算。

如果你的DATE字段是字符串类型,用这个表达式:

=SUM(IIF(Fields!DATE.Value = "5/14/2018", Fields!QUANTITY.Value, 0), "NAME")

如果DATE是日期类型(更推荐这种方式,避免字符串格式问题),可以用动态计算昨日的方式(不用硬写日期):

=SUM(IIF(Fields!DATE.Value = DateAdd(DateInterval.Day, -1, Today()), Fields!QUANTITY.Value, 0), "NAME")

注意:这里的"NAME"是你透视表中行组的名称,如果你的行组命名不是这个,要改成实际的组名(可以在报表设计器的“行组”面板里查看)。

效果验证

把这个表达式添加到新列后,就能得到你想要的结果:

NAMEYESTERDAY TOTALJANFEBTOTAL
John29102535
Tim1351520

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 04:07:50