使参数不适用
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
我正在使用 ReportBuilder 3.0,我有一个 5 参数报表,第一个参数提供了是否带回所有数据或是否过滤的选项。
第二个矩形仅在@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