Reporting services 在SSRS中隐藏子报表的表达式

Reporting services 在SSRS中隐藏子报表的表达式,reporting-services,Reporting Services,以下用于显示/隐藏子报表的表达式不起作用 =iif((DateAdd("d", 45, Fields!actualclosingdate.Value) > Today()), True, False) 任何建议、备选方案或建议都将不胜感激。请尝试将子报表放在一个矩形中,并设置该矩形的可见性。大多数情况下,与SSRS值匹配表达式有关的问题都是产生问题或不希望的结果的值的数据类型。在您的情况下,actualclosingdate字段可能作为字符串出现,因此您需要确保在向其添加天数之前将其转换

以下用于显示/隐藏子报表的表达式不起作用

=iif((DateAdd("d", 45, Fields!actualclosingdate.Value) > Today()), True, False)

任何建议、备选方案或建议都将不胜感激。

请尝试将子报表放在一个矩形中,并设置该矩形的可见性。

大多数情况下,与
SSRS
值匹配表达式有关的问题都是产生问题或不希望的结果的值的数据类型。在您的情况下,
actualclosingdate
字段可能作为字符串出现,因此您需要确保在向其添加天数之前将其转换回日期。为此,请始终使用类型转换在
SSRS
中更正表达式,以便表达式更安全

我还假设你的要求是

如果实际截止日期+45天大于今天,则隐藏报告,如果不是,则显示

因此子报表->右键单击->属性->可见性->基于表达式显示/隐藏

=IIF((DateAdd("d", 45,CDate(Fields!actualclosingdate.Value)) > Today()), True, False)  

当子报表具有可见性属性时,为什么需要将子报表放在矩形中,您可以在其中设置表达式?是否存在有关表达式的错误或警告?