【问题标题】:Can I use different datasets according to the selected parameters using SSRS 2012?我可以使用 SSRS 2012 根据所选参数使用不同的数据集吗?
【发布时间】:2013-05-08 09:06:44
【问题描述】:

这是我第一次使用 SQL Server 报告服务。我有两个日期类型参数:开始日期和结束日期。当我用对应的数据集填充这两个参数时,我可以正确运行报表。

但是,当用户仅填写开始日期时,我想显示该日期及以后的报告。例如如果用户只填写开始日期,我的查询将是这样的

WHERE StartDate >= @StartDate

或者如果用户只填写 EndDate 字段,我的查询将是这样的

WHERE EndDate <= @EndDate.

我有以下两个问题:

1) 我可以根据用户使用 SSRS 的选择来使用不同的数据集吗?例如,如果用户没有选择任何我想运行不同的查询。

2) 如果是,我该如何处理?因为过滤器参数是必填字段,并且我一直收到警告消息。

任何建议将不胜感激。 谢谢。

【问题讨论】:

    标签: sql-server reporting-services report


    【解决方案1】:

    如果我理解正确的话,您的问题似乎有一个更简单的解决方案。您似乎表明参数是可选的。在这种情况下,只需 Allow Null Values 为参数,并重写您的 WHERE 子句如下:

    WHERE (@StartDate IS NULL OR StartDate >= @StartDate)
    AND   (@EndDate   IS NULL OR EndDate   <= @EndDate)
    

    在任何情况下,您都不能根据所选参数“不执行数据集”(通常也不需要这样做)。如果您确实需要类似的东西,那么子报表可能是您的最佳选择。但是,根据您的问题,我认为有一个更简单的解决方案。

    【讨论】:

    • hmmm 有趣的答案,感谢您的回复 Jeroen。我会检查的,我会告诉你的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-11
    • 1970-01-01
    • 1970-01-01
    • 2020-06-14
    • 2017-03-24
    相关资源
    最近更新 更多