我们的SSRS
报告包含Year , Start-Date, End-Date
字段(开始日期和结束日期为Date
个控件,Year
为Combo
值。我需要根据Year
值限制开始日期和结束日期的值。
例如:如果年份值为2016
,则开始日期和结束日期值应介于01/01/2016
和12/31/2016
之间。
如何在SSRS
中执行此操作?请帮忙
答案 0 :(得分:1)
这可以通过一个缺点来实现。您的日期选择器将不再是日历,它将成为包含日期的下拉列表。
创建一个查询,生成您要查找的日期列表,并将其作为数据集添加到报表中。然后,在“开始日期”和“结束日期”报告参数的属性中,单击默认值窗格。从查询中选择获取值,选择适当的数据集,值字段和标签字段。
之后运行报告时,您将看到一个下拉列表,其中包含查询返回的日期列表。只需确保您的日期查询取决于年份报告参数。
答案 1 :(得分:1)
我使用年份值来确定StartDate
和EndDate
是Year
之间的日期。使用表达式,您可以从StartDate
获取年份,并将其与Year
值进行比较,根据该比较,您可以设置另一个参数(StartDateHidden
),该参数对用户隐藏并填充,具体取决于比较。
StartDateHidden
的表达式。
=IIF(
Paramaters!StartDate.Value.Year = Parameters!Year.Value,
Paramaters!StartDate.Value,DateSerial(Parameters!Year.Value,1,1)
)
请注意,如果StartDateHidden
值为StartDate
,则Year
值会填充Year
,否则会设置StartDate
值的第一个日期。
当EndDateHidden
不在年份值中时,您可以使用任何默认值。
=IIF(
Parameters!EndDate.Value.Year = Parameters!Year.Value,
Parameters!EndDate.Value,DateSerial(Parameters!Year.Value,12,31)
)
的表达式。
y
如果有帮助,请告诉我。