使参数不适用

making parameters not apllicable

我正在使用 ReportBuilder 3.0,我有一个 5 参数报表,第一个参数提供了是否带回所有数据或是否过滤的选项。

我的报告基本上由两个矩形组成,两个矩形中都有许多图表。第一个矩形我已将其可见性设置为仅在 @ReportSelection 参数被选为 'everything'.

时显示

第二个矩形仅在@ReportSelection 设置为'Drillthrough' 时显示。用户其他参数选择进来玩这个动作。

我需要的是当用户选择 'Everything' 时我希望隐藏其他参数(虽然看起来这是不可能的)或者至少默认为 'Not Applicable' 之类的东西。

我的第一个参数是这样的 - @param

第二个基于查询-@sdg

 select distinct
 sdg
 from 
 [dbo].[Table]

 where  (@param ='2' or @param = '1')

 order by 1 asc

第三个参数-@la

 select distinct localauthority

 from(

 select distinct

 localauthority,
 sdg

 from 
 [dbo].[Table]


 )as A

 where (sdg in (@sdg) 

 and (@param ='2' or @param ='1'))

 order by 1 asc

第四个参数-@Ward

 select distinct ward

 from(

 select distinct
 ward,
 localauthority

from 
[dbo].[table)as A

where (localauthority in (@la)
and (@param ='2' or @param ='1'))

order by 1 asc

我试过在参数的默认部分添加一个表达式,但没有任何效果。

=IIF(Parameters!ReportSelection.value = "Everything" , "N/A")," "")  

这是我找到的关于如何做到这一点的最好描述,但我正在努力将其实施到我的身上。

https://dzone.com/articles/how-to-creat-multi-option-parameter-report-in-sql

最终以 50 声望为代价解决了这个问题,哦,好吧。使用 'Everything' 字段在我的每个参数中创建了一个联合。然后将所有参数的默认值设置为'Everything'。它远非完美,但它会完成工作

select * from(


select distinct localauthority

from(

select distinct

localauthority,
sdg

from 
[dbo].[Table]

union all

select distinct

'Everything' as localauthority,
'Everything' as sdg

from 
[dbo].[Table]

)as A



where (sdg = @sdg

and (@param ='2' or @param ='1'))

and localauthority <> 'Unknown'


)as D

order by 1 asc