SSRS 报告中的 IIF 和 DATEADD 问题

IIF and DATEADD Issue in SSRS Report

我正在尝试将三个新列添加到我已经创建的报告中。我想按年龄汇总物品数量。因此,第一列是过去 0-7 天每件商品的总数量,第二列是过去 7-14 天的总数量,最后一列是 +14 天。

这是我目前拥有的:

=IIF(Fields!Date.Value >= DATEADD(DateInterval.Day, -7, FormatDateTime(Today)), SUM(Fields!Qty.Value))

我试过以多种方式修改它,但所有(包括上面的表达式)都带有红色下划线,表示存在错误。 我试过:

= IIF(Fields!Date.Value >= DATEADD(DateInterval.Day, -7, Now()), SUM(Fields!Qty.Value))
= IIF(Format(Fields!Date.Value, “dd/mm/yyyy”) >= DATEADD(DateInterval.Day, -7, Format(Today(), “dd/mm/yyyy”)), SUM(Fields!Qty.Value))

我很茫然,因为我真的不经常写表达式。我是不是用错了方法?

您的 IIF 的问题是 SUM 之后没有 ELSE 条件。如果条件为真,IIF 将 return 值,否则。

IIF(< condition >, < true >, < false >)

在这种情况下,您还希望总和在 IIF 之外,否则它将检查第一个日期,如果匹配则添加所有日期的所有数量。

=SUM(IIF(Fields!Date.Value >= TODAY.AddDays(-7), Fields!Qty.Value, 0))

如果数量字段是小数,0可能需要转换为CDEC(0)