基于最早日期的SSRS总和值

时间:2015-12-01 17:22:10

标签: reporting-services ssrs-2008 ssrs-2008-r2

我试图根据SSRS报告中的最早日期汇总净余额。在这种情况下,只有2个日期,但可能有更多的日期不超过7天。

以下是我的数据示例:

enter image description here

以下是我最早在2015年10月26日之前得到的内容:

enter image description here

我已经尝试了以下代码,但无法使其正常工作:

    =Sum(IIf(DateDiff("d",Fields!SettleFullDate.Value,today())>=7 
and DateDiff("d", Fields!SettleFullDate.Value, today())<7
and Fields!SETTLEBALANCE.Value>0), Fields!SETTLEBALANCE.Value, 0)

更新:我尝试了以下代码并继续在报告中收到错误消息。难道我需要将日期字段更改为整数吗? enter image description here enter image description here

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

要比较两个日期的值之和,一组中的最大值和最小值,您可以使用以下等式

=Sum(iif(Fields!myDate.Value = Max(Fields!myDate.Value), Fields!myVal.Value, 0))
-Sum(iif(Fields!myDate.Value = MIN(Fields!myDate.Value), Fields!myVal.Value, 0))

将与数据集中的最大日期匹配的所有值汇总在一起,并将与数据集中的最小日期匹配的所有值汇总在一起,并从另一个中取一个值。

无论您要求接收哪个日期,上述方法仅适用于您返回SSRS的记录。因此,如果您有一个过滤器(WHERE子句)来返回Date1和Date2之间的记录,那么它仍将应用(注意 - 实际上不要在查询之间使用&#39;在&#39;

您可以使用

计算与原始方法类似的日期,而不是使用此处列出的最长和最短日期。
dateadd("d", -7, Fields!MySpecificDate.Value)

并将其插入上面的表达式。

希望这是您的要求 - 如果没有,请告诉我。