6

我使用以下表达式来获取 SSRS 中表的行号:

=RunningValue(CountDistinct("Table1"),Count,"Table1")

我还使用行可见性属性的表达式。让我们说可见性表达式是

=IIf(Fields!MyField.Value + Fields!MyField.Value <> 0, False, True) 

我的行号表达式不考虑该行是否可见。

我显然可以更改我的数据集查询,但是是否可以仅更改我的行号表达式以仅包含未隐藏的行?谢谢

4

1 回答 1

10

您可以通过结合两个表达式的逻辑来实现这一点。

假设您有一个简单的 DataSet 和一个基于此的简单 Tablix:

在此处输入图像描述

在此处输入图像描述

在这里,RowNum计算为:

=RunningValue(Fields!val1.Value, CountDistinct, "Tablix1")

接下来,让我们使用基于其他两个字段的表达式隐藏一些行:

=IIf(Fields!val2.Value + Fields!val3.Value <> 0, False, True)

在此处输入图像描述

这会破坏RowNum,但我们可以修改表达式以忽略隐藏的行。我们通过将它们清空来做到这一点(即对于 SSRS 设置为Nothing) -CountDistinct不会考虑任何Nothing值:

=RunningValue(IIf(Fields!val2.Value + Fields!val3.Value <> 0, Fields!val1.Value, Nothing)
    , CountDistinct
    , "Tablix1")

现在RowNum根据需要忽略隐藏的行:

在此处输入图像描述

于 2013-09-23T08:36:28.930 回答