我有一个报告,要求我从一个我没有创建的过程中编写,该过程每个选项都有2个参数。
@AreaID
@AreaID_All
因此,他们这样编码——如果你想搜索特定的区域id,你可以将区域id输入到@AreaID中,然后将"N"输入到@Area\id_All。
如果您想显示全部,那么您将在@AreaID中输入NULL,并在@AreaID_all中将"Y"输入。
还要求为@AreaID提供多选下拉列表。
我已经记下了这一部分,现在我不知道如何判断用户是否在@AreaID中选择了(全选),然后将@AreaID_All默认为"Y"。
有什么想法吗?
您可以创建另一个数据集,该数据集返回作为可用值传递给参数的AreaID
行数。
然后使用它与Parameters!AreaID.Count
函数进行比较。
@AreaID_All
集合表达式应该是这样的:
=Switch(
...
...
First(Fields!CountofAreaID.Value,"CountDataSet")=Parameters!AreaID.Count,"Y"
)
这意味着选择了Select All
选项。
此外,我强烈建议您使用一个内部参数来验证@AreaID_All从用户那里获得的数据。
如果这有帮助,请告诉我。