SSRS灰色参数基于其他参数

时间:2017-12-19 16:57:16

标签: sql-server reporting-services ssrs-2012

我在SSRS中有一个参数,用户可以选择是否终止提供程序。如果他们为终止选择是,那么我希望他们能够选择终止日期范围。如果他们选择“否”,那么我希望日期范围显示为灰色。我在网站的其他地方找到了答案,但我无法让它发挥作用。基于SpecifyDate数据集创建数据集,我对它们的含义感到困惑。我试图通过创建一个Terminated数据集来复制它,但我不认为我正确地这样做了。这就是我发现的:possible solution

enter image description here

使用以下方法创建Terminated参数: enter image description here

主数据集有一个where filter:

    where status = @terminated

1 个答案:

答案 0 :(得分:0)

您不能在SSRS中“灰显”参数。你可以做的是将其设置为NULL。 如果Terminated参数设置为“No”,则您的查询需要能够处理NULL日期。

所以我要做的是,创建一个名为Date的数据集,根据Terminated参数选择所需的日期。

日期数据集可能如下所示:(在实现时注释掉declare语句) - 我为终止日期设置了一个任意值

declare @teminated varchar(3) = 'Yes'
select
 case when @teminated = 'No' then getdate() else NULL end as start_date
, case when @teminated = 'No' then getdate() else NULL end as end_date

然后,您可以为此数据集中生成的日期设置终止日期的默认值。希望这是有道理的。