我使用以下表达式来获取 SSRS 中表的行号:
=RunningValue(CountDistinct("Table1"),Count,"Table1")
我还使用行可见性属性的表达式。让我们说可见性表达式是
=IIf(Fields!MyField.Value + Fields!MyField.Value <> 0, False, True)
我的行号表达式不考虑该行是否可见。
我显然可以更改我的数据集查询,但是是否可以仅更改我的行号表达式以仅包含未隐藏的行?谢谢
我使用以下表达式来获取 SSRS 中表的行号:
=RunningValue(CountDistinct("Table1"),Count,"Table1")
我还使用行可见性属性的表达式。让我们说可见性表达式是
=IIf(Fields!MyField.Value + Fields!MyField.Value <> 0, False, True)
我的行号表达式不考虑该行是否可见。
我显然可以更改我的数据集查询,但是是否可以仅更改我的行号表达式以仅包含未隐藏的行?谢谢
您可以通过结合两个表达式的逻辑来实现这一点。
假设您有一个简单的 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根据需要忽略隐藏的行: