禁用 SSRS 日期类型参数上的"Weekend"



我有一个报告,报告有参数(@date(供用户选择日期。

目前,我的参数 (@date( 使用参数属性>默认值>=Today(((用于将今天日期设置为默认参数(。

但我也希望该参数可以禁用周末。 因此,用户只能选择工作日。

我该怎么做?请帮忙。

您无法在日期选择器上禁用周末。如果用户选择周末日期,则不会导致错误。我可以建议使用可见性根据他们选择的日期隐藏您的表/矩阵吗?

在表属性中,转到表可见性选项并使用以下表达式:

=IIF(weekday(Parameters!YourParameterName.Value) = 1, TRUE,IIF(weekday(Parameters!YourParameterName.Value) = 7, TRUE, FALSE))

在表后添加一个文本框,在文本框中包含一条"错误消息",以便在用户选择周末日期时向用户显示。转到文本框属性、可见性选项并使用此表达式:

=IIF(weekday(Parameters!YourParameterName.Value) = 1, FALSE, IIF(weekday(Parameters!YourParameterName.Value) = 7, FALSE, TRUE))

我在这里使用嵌套的 IIF 函数,但如果需要,您可以使用 SWITCH。

结果是,当选择周末日期时,您的文本框将与消息一起显示。否则,将显示您的表格。

如果您不介意丢失日期选择器的功能,则可以将 @date 参数设置为使用以下查询,当前设置为从当前日期算起 +/- 60 天,您可以修改该查询以满足您的要求:

;with dates ([startDate]) as (
Select convert(date,DateAdd("d",-60,(getdate()))) as [startDate] 
union all 
Select dateadd(day, 1, [startDate])
from dates
where [startDate] <= DateAdd("d",60,(getdate())))
select [startDate]
from dates
where datepart(dw,[startDate]) in (2,3,4,5,6)   
option (maxrecursion 32767)

相关内容

  • 没有找到相关文章

最新更新