试试这个。您需要将数据集中的参数总数与所选参数的数量进行比较。以下假设您的多值参数使用名为“dsRoomSizes”的数据集
="Room Size: "
& iif(Parameters!pRoomCap.Count = count(Fields!pRoomCap.Value,"dsRoomSizes"),
"Any",
Join(Parameters!pRoomCap.Value, ", "))
该表达式将在页眉/页脚中起作用。
UPDATE
为了找到问题的解决方案,以下内容应该适合您。这感觉很黑客,我鼓励你继续研究替代方法,但这会起作用:
- Create a second multivalue parameter and name it something like "pRoomCap_hidden".
- 参数的来源是完全相同的查询
- 在参数属性中,将默认值设置为相同的查询
-
重要的:设置参数可见性为隐藏
这将在报告中创建第二个多值参数,该参数与初始多值参数完全相同,只是此参数列表将默认选择所有值。
在标题的文本框中输入以下表达式:
=IIF(Parameters!pRoomCap.Count = Parameters!pRoomCap_hidden.Count,"All",Join(Parameters!ReportParameter1.Value,", "))
上面将比较每个参数列表中选定的值。如果列表包含相同的选定值,则表明已在第一个列表中选择“全部”。
就像我说的,它很黑客,但它绝对有效。在升级到 2008 之前,这对您来说可能不是一个坏的解决方法。