在 SSRS 表达式中使用 IIF 和 AND

Using IIF and AND in SSRS Expression

我有一个 table 如下所示

我想隐藏所有 3 列都为 0 的行。所有列都是 INT 数据类型

我的表情是这样的:

    =IIF((Fields!PastVal.Value=0) AND (Fields!DatePay=0) AND (Fields!Line.Value=0),False,True)

但除了列标签(标题)外,没有返回任何数据。我的快递有什么问题吗?

在 tablix 上创建一个过滤器,您只需添加 3 个条件,一个用于 3 个字段:

在每个条件上使用 <> as 运算符,并简单地指定 0 作为值,而不是使用表达式。

您在使用行可见性吗? TrueFalse 用于 Hiding Row 但如果它们等于 0,则将其设置为 false。

=IIF((Fields!PastVal.Value=0) AND (Fields!DatePay=0) AND (Fields!Line.Value=0), True, False)

虽然这仍然不能解决问题 - 一些列应该已经显示,因为您的示例中有数据。

您的数据行是否使用 SUM?如果是这样,您的表达式也需要求和。

=IIF(SUM(Fields!PastVal.Value) = 0 AND SUM(Fields!DatePay.Value) = 0 AND SUM(Fields!Line.Value) = 0, True, False)

感谢大家的宝贵建议。我的表达一直都是正确的,但是因为我的报告有一个分组,所以我不得不通过单击详细信息通过组属性设置可见性。在此之前,我通过右键单击报表正文中的详细信息行来应用过滤器,但这没有用。

感谢大家的贡献。我的错。我的报告有一个组级别,因为我是通过右键单击我的 tablix 来应用过滤器的,所以这不起作用。我必须通过右键单击行组中的详细信息来完成此操作。