如何过滤掉SSRS中的参数值

How to filter out parameters value in SSRS

我目前有一份 SSRS 报告,它为我提供了基于开普敦和达拉斯这两个站点的电话数据。

目前我有一个名为 Site 的参数和一个名为 Data_Label 的参数。通过 selecting 开普敦和相关的 Data_Label,它完全按照我的意愿运作,达拉斯也是如此。然后显示我需要的所有数据。

我遇到的问题是 Data_Label 的列表很长,一半与开普敦站点相关联,另一半与达拉斯站点相关联。我希望发生的事情是,当我 select 开普敦作为我的网站时,一半的 Data_Label 会出现,然后当我 select 达拉斯时,其他人就会显示。

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

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

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

谢谢 旦

您可以从站点参数值中级联 Data_Label 参数。

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

select Data_Label
from Table1
where Site IN (@Site) 

当您 运行 报告填充 Data_Label 参数的数据集时,将 运行 上面的查询和 return 相关的 Data_Label 值为 Site 参数选择的值。

此外,如果您手动填充参数,则可以在 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)

如果这对你有帮助,请告诉我。