2016-12-15 70 views
0

我有参数@Coverage和参数@CoverageLosses。他们不是父母和孩子。我想要根据@Coverage填入值为@CoverageLosses的默认值。 所以我的主要数据集@Coverage看起来是这样的:如何根据SSRS中的另一个参数填充多值参数

SELECT DISTINCT Coverage 
FROM   PlazaInsuranceWPDataSet 
ORDER BY Coverage 

我的次要数据集@CoverageLosses看起来是这样的:

SELECT DISTINCT Coverage AS CoverageLosses 
FROM   tblLossesPlazaCommercialAuto 
WHERE Coverage IN (@Coverage) 
ORDER BY CoverageLosses 

在报表参数@CoverageLosses我检查Allow Multiple values那么在默认情况下 - >Specify values我写这个表达式:

=IIF(Parameters!Coverage.Value="Liability","AutoLiabilityCLS" ,nothing) 

它对单值有效。但是我想查看@CoverageLosses的多个值如果我选择@Coverage = Liability

我该如何编写表达式?类似的东西:

=IIF(Parameters!Coverage.Value="Liability","AutoLiabilityCLS" & "AutoLiabilityCLS" & "AutoBodilyInjuryLiability" ,nothing) 

@覆盖用于我的报告中的另一个表的。它将被隐藏。但来自@Coverage的值将被映射到值@CoverageLosses。因此,当用户选择,可以说从VALUE1然后@Coverage在@CoverageLosses默认值应该是值1,值2,值3等

enter image description here

+0

等等,你想完成什么?在哪里以及如何使用参数@coveragelosses? – ZLK

+0

我编辑的解释。由于某种原因,它不允许我在这里发表评论 – Oleg

+0

因此,@ @ CoverageLosses用于我的报告中的另一个表格。参数将被隐藏。但来自'@ Coverage'的值将被映射到值'@ CoverageLosses'。所以当用户选择时,让'@ Coverage'说出value1,那么'@ CoverageLosses'中的默认值应该是value1,value2,value3等。 – Oleg

回答

1

你可以创建一个额外的数据集,并使用它作为您的来源为参数:

select CoverageLosses from (
select 'Liability' Coverage ,'AutoLiabilityCLS' CoverageLosses union 
select 'Liability' Coverage ,'AutoLiabilityCLS' CoverageLosses union 
select 'Liability' Coverage ,'AutoBodilyInjuryLiability' CoverageLosses union 
select null Coverage ,null CoverageLosses ) x 
where Coverage = @Coverage 
+0

非常感谢Kostya。 你来自圣地亚哥吗? – Oleg

+0

如果我从一个值中选择,返回到“SELECT ALL”值,唯一的参数值不会刷新。正确的值被填充,但没有被“检查”。我正在使用SQL Server 2012. Visual Studio 2010. 你知道关于这个问题的一些事吗? – Oleg

相关问题