我在2005 SSRS中有一个报告,我想添加一个参数。该参数将由一组邮政编码组成,但可以在列表中选择为单个项目。
例如,我希望在列表中有5个邮政编码作为一个选项,而另一个选择3个邮编:
Select 11111,22222,33333,44444,55555,66666 AS Boondock
Select 77777,88888,99999 AS Timbuck
Select Zip Codes NOT IN (11111-99999) AS Everything Else
所以我在下拉列表中的选择将是:
处刑
Timbuck
其他一切
任何人都可以帮我解决创建此参数的问题吗?
答案 0 :(得分:1)
ZipCodeSet
。@ZipCodeSet
参数的数据集,并返回相应的邮政编码列表。称之为ZipCodeSelection
。ZipCodeSelection
作为其可用值和默认值。称之为SelectedZipCodes
。SelectedZipCodes
。答案 1 :(得分:0)
这里最简单的解决方案可能是使用数据集上的计算字段,称为LocationDescription,例如:
=SWITCH(Fields!ZipCode >= 11111 and Fields!ZipCode <= 66666, "Boondock", Fields!ZipCode >= 77777 and Fields!ZipCode <= 99999, "Timbuck",True, "Everywhere Else")
最后的唯一真实陈述是由于SWITCH表达式从左向右读取并且一旦将其中一个开关评估为TRUE就退出。这样,对于ZipCodes表中的每个项目,您总是会得到一个真实的结果。
我假设您正在评估一系列ZipCodes,而不是11111,22222的确切值,依此类推?如果是这样,交换机将具有更多值。如果您想要一个确切的答案,那么您的数据样本会有所帮助。
一旦构建了计算字段,就可以根据LocationDescription字段的查询设置一个包含可用值的参数(称为@LocationParameter),然后使用以下方法过滤数据集:
表达式: = Fields!LocationDescription
接线员:=
值: @LocationParameter
(如果您希望对参数进行多项选择,请将运算符更改为IN)
希望有所帮助。