如何过滤掉SSRS中的参数值

时间:2016-08-24 13:00:09

标签: visual-studio reporting-services ssrs-2008

我目前有一份SSRS报告,它根据开普敦和达拉斯这两个网站提供电话数据。

目前我有一个名为Site的参数和一个名为Data_Label的参数。通过选择开普敦和相关的Data_Label以及达拉斯的相同,它绝对是我的愿望。然后显示我需要的所有数据。

我遇到的问题是,有很长的Data_Label列表,一半是连接到开普敦网站,另一半是连接到达拉斯网站。我想要发生的事情是,当我选择开普敦作为我的网站时,Data_Label的一半出现,然后当我选择达拉斯时,其他人将会显示。

这是我在数据集中的当前查询:

WHERE([LB ODS] .Telephony_LifestyleBenefits_VIEW.Site IN(@Site))AND([LB ODS] .DataLookup.Data_Label IN(@DataLabel))

因此,每个Data_Label都将链接到主数据库中的相关站点,但我只需要在我的参数中使用过滤器,这样它就不会显示长列表

由于 丹

1 个答案:

答案 0 :(得分:0)

您可以从Site参数值级联Data_Label参数。

如果您通过数据集填充Data_Label参数,则可以使用Site参数过滤可用值,如下所示

select Data_Label
from Table1
where Site IN (@Site) 

运行报表时,填充Data_Label参数的数据集将运行上述查询,并返回与为Site参数选择的值相关的Data_Label值。

此外,如果手动填充参数,您可以对CTE中的值进行硬编码,结果如下:

WITH DLValues AS (

select 'Data_Label1' [Data_Label], 'Dallas' [RelatedSite]
union all
select 'Data_Label2' [Data_Label], 'Dallas' [RelatedSite]
union all
select 'Data_Label3' [Data_Label], 'Cape Town' [RelatedSite]
union all
select 'Data_Label4' [Data_Label], 'Cape Town' [RelatedSite]

) 

select Data_Label
from DLValues
where RelatedSite IN (@Site)

如果这有助于您,请告诉我。