【问题标题】:Using a parameter to set the value of another parameter (Report Builder 3.0)使用一个参数设置另一个参数的值 (Report Builder 3.0)
【发布时间】:2012-12-13 08:28:04
【问题描述】:

我正在创建一个包含 3 个参数 @Name、@StartDate 和 @EndDate 的报告(在报告生成器 3.0 中) - 非常简单。

现在报告读者希望可以使用第四个参数@Year。理论上这个参数应该在选择时设置@StartDate 和@EndDate。

例如,读者在@Year 中选择“2012”,然后@StartDate 和@EndDate 将自动填充“01-01-2012”和“31-12-2012”

这怎么可能?

【问题讨论】:

    标签: sql reporting-services reportbuilder3.0


    【解决方案1】:

    您不能在 SQL 查询中通过 @Year 参数创建两个新变量 @Startdate 和 @Enddate。所以它会根据你的需要工作。

    @Startdate = convert(datetime, @year+'-01-01', 120)
    @Etartdate = convert(datetime, @year+'-12-31', 120)
    

    【讨论】:

    • 如果我希望读者使用 Year 选择年份或使用 StartDate 和 结束日期 ?
    【解决方案2】:

    添加到 Pradeeshnarayan 的答案。

    实现这一点的唯一方法是添加两个隐藏参数,决定是否输入年份然后默认为全年,否则默认为选定的开始和结束日期。

    例如:

    @h_Startdate = IIf(@year=Empty, @Startdate, convert(datetime, @year+'-01-01', 120))
    @h_Enddate = IIf(@year=Empty, @Enddate, convert(datetime, @year+'-12-31', 120))
    

    好问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-10
      • 1970-01-01
      • 2016-03-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多