我想要一个动态参数,而如果它引用一个数据集,如果数据集只返回一个记录,那么param下拉列表只显示该值。但是,如果数据集为该参数返回多个值,那么我想在数据集返回的值列表之前的下拉列表中显示一个初始的“选择一个值”或类似的值作为第一个值。
我无法弄清楚如何进行条件默认值。所以以某种方式检查数据集计数以及是否> 1将默认值设置为“选择值”。
我不确定是否需要设置默认值才能做到这一点......任何人?
我尝试在Report Param的默认值选项卡中选择“指定值”并尝试将其设置为检查从数据集返回的多条记录,如果是,请添加默认值“选择值”但是这不起作用:
=IIf(Count(Fields!BusinessLine.Value) > 1, "Select a Value", First(Fields!BusinessLine))
我也尝试过:
=IIf(Parameters!Organization.Count > 1, "Select a Value", First(Fields!BusinessLine))
没有运气。我收到错误“用于报告参数'@ParameterName'的值表达式引用一个字段。字段不能在报表参数表达式中使用。”
所以我在这里停留如何获取此表达式或在此处检查我的报告参数的默认选定值。
答案 0 :(得分:0)
你不必这样做,这就是参数的默认行为。也许你没有正确配置它。
在主数据集上执行select和where where子句执行where BusinessLine in (@BusinessLine)
然后,创建另一个名为DSBusinessLine的数据集,其中包含
select ID, BusinessLineName
from BusinessLine
双击BusinessLine参数,转到默认值,选择select value from a query
并选择DSBusinessLine并将ID作为值通知,将BusinessLineName作为文本通知