SSRS 2008:如果参数不为NULL或空白,则在文本框中显示报告参数

问题描述 投票:1回答:1

我有一个报告(SSRS 2008 r2),它有两个参数,@StartDate和@EndDate。 两个参数都设置为类型: Date / Time,并允许使用NULL值。 现在,@ EndDate默认为NULL(我正在处理SP中的NULL值),并且在我的报告中,我有一些文本框,其中显示了报告中使用的开始和结束日期范围。

对于显示结束日期的文本框,我使用一个表达式来显示当前日期(如果参数为null或空白),但是如果用户选择结束日期,则文本框应显示所选的结束日期。 这是我遇到问题的地方。

我正在使用以下表达式显示结束日期。

=IIF(IsNothing(Parameters!EndDate.Value) OR Parameters!EndDate.Value = "", Format(Now(), "MMM - dd, yyyy"), Format(Parameters!EndDate.Value, "MMM - dd, yyyy"))

如果结束日期参数为NULL,则该表达式有效,但如果选择结束日期,则该表达式始终返回#Error

我创建了单独的文本框来尝试此表达式的不同部分。 都:

Format(Now(), "MMM - dd, yyyy")

Format(Parameters!EndDate.Value, "MMM - dd, yyyy")

自己做得很好。 这是我尝试将它们放入IIF块中以根据EndDate参数是否为null或是否为空白(错误发生时)有条件地返回一个或另一个的情况。

reporting-services ssrs-2008 ssrs-2008-r2
1个回答
4
投票

这应该工作..

=IIF(IsNothing(Parameters!EndDate.Value) OR (NOT IsDate(Parameters!EndDate.Value)), Format(Now(), "MMM - dd, yyyy"), Format(Parameters!EndDate.Value, "MMM - dd, yyyy"))
© www.soinside.com 2019 - 2024. All rights reserved.