根据日期范围对SSRS报告中的值求和

时间:2015-05-21 18:38:03

标签: date reporting-services sum range

我正在尝试根据同一数据集中的日期范围字段对SSRS报告中的字段值求和,但没有运气。到目前为止,这是我想出来的。我没有运气地搜索论坛。任何帮助将不胜感激。

= sum( iif(
            datediff("d",Fields!Calculated_DueDate.Value.value,today())>=31
    AND
      (datediff("d",Fields!Calculated_DueDate.Value,today())<62
         AND (Fields!Calculated_InvoiceBal.Value.value>0 ),
         Fields!Calculated_InvoiceBal.value,0)))

Calculated_DueDate是我的日期字段 Calculated_InvoiceBal是我想要求和的字段

2 个答案:

答案 0 :(得分:1)

第一个:你不应该使用像Fields!Calculated_DueDate.Value.value这样的表达式 - 这是错误的。

第二种:括号的排列有误。

第三种:在SSRS 2008R2中,函数today()的调用标记为错误。您可以使用表达式DateTime.Today来获取当前日期而不会出现错误标记。

所以,你的表达应该是这样的:

=sum( 
            iif(datediff("d",Fields!Calculated_DueDate.Value, DateTime.Today) >= 31                 
                            AND datediff("d",Fields!Calculated_DueDate.Value, DateTime.Today) < 62
                            AND (Fields!Calculated_InvoiceBal.Value > 0),
                    Fields!Calculated_InvoiceBal.value, 
                    0
                )
        )

答案 1 :(得分:0)

试试这个:

=SUM(IIf(datediff("d",Fields!Calculated_DueDate.Value.value,today())>=31 AND datediff("d",Fields!Calculated_DueDate.Value,today())<62 AND Fields!Calculated_InvoiceBal.Value.value>0), 
        Fields!Calculated_InvoiceBal.value, 0)