Bil*_*ill 4 reporting-services
客户希望我重复报告页眉中的参数值.但如果他们只是在多值参数上选择"全选",他们希望列出文本"任意".
例如,一个参数具有固定的9个值.我将文本框的表达式硬编码为:
="Room Size: " &
iif(Parameters!pRoomCap.Count=9,
"Any",
Join(Parameters!pRoomCap.Value, ", "))
Run Code Online (Sandbox Code Playgroud)
如果参数源是未知大小的查询,我该怎么做?
Nak*_*nch 11
试试吧.您需要将数据集中的参数总数与所选参数的计数进行比较.以下假设您的多值参数使用名为"dsRoomSizes"的数据集
="Room Size: "
& iif(Parameters!pRoomCap.Count = count(Fields!pRoomCap.Value,"dsRoomSizes"),
"Any",
Join(Parameters!pRoomCap.Value, ", "))
Run Code Online (Sandbox Code Playgroud)
此表达式将在页眉/页脚中起作用.
UPDATE
为了找到问题的解决方案,以下内容应该对您有用.感觉很乱,我鼓励你继续研究替代方法,但这样可行:
这将在报表中创建第二个多值参数,该参数与初始多值参数完全相同,只有此参数列表将默认选中所有值.
在标题的文本框中输入以下表达式:
=IIF(Parameters!pRoomCap.Count = Parameters!pRoomCap_hidden.Count,"All",Join(Parameters!ReportParameter1.Value,", "))
Run Code Online (Sandbox Code Playgroud)
以上将比较每个参数列表中的选定值.如果列表包含相同的选定值,则表示在第一个列表中选择了"全部".
就像我说的那样,它是黑客但它绝对有效.在升级到2008之前,这对您来说可能不是一个糟糕的解决方法.
| 归档时间: |
|
| 查看次数: |
15342 次 |
| 最近记录: |