我试图根据SSRS报告中的最早日期汇总净余额。在这种情况下,只有2个日期,但可能有更多的日期不超过7天。
以下是我的数据示例:
以下是我最早在2015年10月26日之前得到的内容:
我已经尝试了以下代码,但无法使其正常工作:
=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)
更新:我尝试了以下代码并继续在报告中收到错误消息。难道我需要将日期字段更改为整数吗?
提前感谢您的帮助!
答案 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)
并将其插入上面的表达式。
希望这是您的要求 - 如果没有,请告诉我。