2

在 SSRS 2005 中,我试图设置一个表达式以返回 true 或 false,根据 ReportItems 之一的值是否在报告时用户从列表中选择的(可能多个)值列表中跑。

这是到目前为止的表达式:

=iif(Trim(ReportItems!Category_2.Value) = Trim(Parameters!Category.Value(0)), False, True)

你可以看到表达式中的 True 和 False 是相反的——这是因为它是为了控制行的 'Hidden' 属性,我不想隐藏值在列表中的行。

为参数选择单个值时,表达式可以正常工作,但对于多个值,它只显示第一个值的结果。

希望你能帮忙。

4

2 回答 2

0

尝试使用

=iif(Trim(ReportItems!Category_2.Value) = Trim(Parameters!Category.Value), False, True)
于 2014-01-08T21:43:26.033 回答
0

非常感谢您的帮助。这些多个值真的困扰着我,我从来没有设法让 Trim 正常工作,所以我最终使用了以下两阶段解决方案:

(1) 在 SQL 'SELECT' 语句中,我定义了一个名为 'InCategory' 的新值,根据 Category 是否是输入的 Category 之一,为其分配值 1 或 0:

CASE WHEN Category IN (@Category) THEN 1 ELSE 0 END AS 'InCategory', 

(2) 然后在 SSRS 中,我对报告中“隐藏”的表达变得简单,如果该行的“InCategory”之和为 0,则隐藏该行:

=iif((Sum(Fields!InCategory.Value) = 0), True, False)

再次感谢您的帮助 - 我非常感谢,并将再次使用该网站。

于 2014-01-15T10:57:53.033 回答