SSRS Substracing Date returns False 对于有效的 If 语句

SSRS Substracing Date returns False for valid If Statement

当条件满足时,打印出下面的查询

而不是选择的日期 -1 天,但是当不满足条件时它会显示所选的日期。

=IIF(Parameters!subscription.Value =0 AND Parameters!shiftId.Value = "Shift 3", Parameters!date.Value =DateAdd("d", -1, Parameters!date.Value), Parameters!date.Value)

知道我错过了什么吗?

问题是 IIF 语句的第二个参数:

Parameters!date.Value =DateAdd("d", -1, Parameters!date.Value)

在两个值之间进行比较,因此返回一个布尔值。

您只需要其中的 DateAdd 部分:

=IIF(Parameters!subscription.Value =0 AND Parameters!shiftId.Value = "Shift 3"
  , DateAdd("d", -1, Parameters!date.Value)
  , Parameters!date.Value)