根据 SSRS 中的参数值调整日期值

Adjust Date values based on a parameter value in SSRS

我们有一个包含 Year , Start-Date, End-Date 字段的 SSRS 报告(开始日期和结束日期是 Date 控件,YearCombo 值).我需要根据 Year 值限制开始日期和结束日期的值。

例如:如果 Year 值为 2016,则 Start-Date 和 End-Date 值应介于 01/01/201612/31/2016 之间。

如何在 SSRS 中执行此操作?。请帮忙

这可以通过一个缺点来实现。您的日期选择器将不再是日历,而是带有日期的下拉列表。

创建一个查询来生成您要查找的日期列表,并将其作为数据集添加到报告中。然后在 Start-Date 和 End-Date 报告参数的属性中单击默认值窗格。选择从查询中获取值、select 适当的数据集、值字段和标签字段。

之后,当您 运行 报告时,您将看到一个下拉列表,其中包含查询返回的日期列表。只要确保您的日期查询依赖于年份报告参数即可。

我会使用 Year 值来确定 StartDateEndDate 是否是 Year 之间的日期。使用表达式,您可以从 StartDate 获取年份并将其与 Year 值进行比较,根据该比较,您可以设置另一个参数 (StartDateHidden),该参数对用户隐藏并根据比较。

StartDateHidden 的表达式。

=IIF(
  Paramaters!StartDate.Value.Year = Parameters!Year.Value,
  Paramaters!StartDate.Value,DateSerial(Parameters!Year.Value,1,1)
)

请注意,如果它是 Year 值中的日期,它将使用 StartDate 值填充 StartDateHidden,否则它将设置 Year 值的第一个日期。

StartDate 不在年份值中时,您可以使用任何默认值。

EndDateHidden 的表达式。

=IIF(
  Parameters!EndDate.Value.Year = Parameters!Year.Value,
  Parameters!EndDate.Value,DateSerial(Parameters!Year.Value,12,31)
)

如果有帮助请告诉我。