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

Sum a value in SSRS Reports based on date 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是我要求和的字段

试试这个:

=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)

第一:你不应该使用像 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
                )
        )