0

我想要一个动态参数,而如果它引用数据集,如果数据集只返回一条记录,那么参数下拉列表只会显示该值。但是,如果数据集为该参数返回多个值,那么我想在从数据集返回的值列表之前显示一个初始的“选择一个值”或类似的东西作为下拉列表中的第一个值。

我不知道如何做一个有条件的默认值。因此,以某种方式检查数据集计数,如果 > 1 将默认值设置为“选择值”。

我不确定是否需要设置默认值来执行此操作,即使...任何人?

我尝试在报告参数的默认值选项卡中选择“指定值”,并尝试将其设置为检查从数据集中返回的多个记录,如果是,则添加“选择值”的默认值,但这不会工作:

 =IIf(Count(Fields!BusinessLine.Value) > 1, "Select a Value", First(Fields!BusinessLine))

我也试过:

=IIf(Parameters!Organization.Count > 1, "Select a Value", First(Fields!BusinessLine))

没运气。我收到错误“用于报表参数'@ParameterName'的值表达式引用了一个字段。字段不能在报表参数表达式中使用。”

所以我被困在这里如何获取这个表达式或在这里检查我的报告参数的默认选择值。

4

1 回答 1

0

您不必这样做,这是参数的默认行为。也许你没有正确配置它。

在你的主数据集上做你的选择,在 where 子句上做where BusinessLine in (@BusinessLine)

然后,创建另一个名为 DSBusinessLine 的数据集,其中包含

select ID, BusinessLineName
from BusinessLine

双击 BusinessLine 参数,转到默认值,选择select value from a query并选择 DSBusinessLine 并通知 ID 作为值和 BusinessLineName 作为文本

于 2012-05-03T14:27:03.473 回答