我目前有一份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都将链接到主数据库中的相关站点,但我只需要在我的参数中使用过滤器,这样它就不会显示长列表
由于 丹
答案 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)
如果这有助于您,请告诉我。