2012-05-03 42 views
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'的值表达式指的是一个字段,不能在报表参数表达式中使用字段。”

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

+1

当然,“选择一个值”本身并不是一个有效值,因此不应出现在列表中o f值? –

+0

@MSSucks做了这个帖子帮助中添加的答案吗? (我有点整洁) – whytheq

回答

0

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

在您的主要数据集

做你的选择,并在where子句做where BusinessLine in (@BusinessLine)

然后,创建一个名为包含

select ID, BusinessLineName 
from BusinessLine 

双击BusinessLine参数,进入默认值DSBusinessLine其他数据集,选择select value from a query然后选择DSBusinessLine并将ID作为值并将BusinessLineName通知为文本

相关问题