如果参数 A = (Select 全部) 那么默认参数 B 为 "Y"

If Parameter A = (Select All) then Default Parameter B to "Y"

有人要求我从一个我没有创建的过程中编写一份报告,该过程的每个选项都有 2 个参数。

@AreaID 
@AreaID_All

所以他们是这样编码的,如果你想搜索一个特定的区域 ID,你可以将区域 ID 输入 @AreaID 然后输入 "N" 到 @AreaID_All.

如果你想显示所有那么你将输入 NULL 到 @AreaID"Y"@AreaID_All.

还要求 @AreaID 有一个多选下拉菜单。

我已经记下了这部分,现在我卡在了如何说如果用户 Selected (Select All) in @AreaID 然后默认 @AreaID_all"Y".

有什么想法吗?

您可以创建另一个数据集,其中 returns 您作为可用值传递给参数的 AreaID 行的计数。

然后用它与 Parameters!AreaID.Count 函数进行比较。

@AreaID_All 设置表达式是这样的:

=Switch(
...
...
First(Fields!CountofAreaID.Value,"CountDataSet")=Parameters!AreaID.Count,"Y"
)

这意味着 Select All 选项是 select。

此外,我强烈建议您使用内部参数来验证您的@AreaID_All 从用户那里获取的数据。

如果有帮助请告诉我。