我使用以下表达式来获取SSRS中表的行号:
=RunningValue(CountDistinct("Table1"),Count,"Table1")
我还使用行可见性属性的表达式。让我们说可见性表达式是
=IIf(Fields!MyField.Value + Fields!MyField.Value <> 0, False, True)
我的行号表达式不考虑该行是否可见。
我显然可以更改我的数据集查询,但是可以只更改我的行号表达式以仅包含未隐藏的行吗? 感谢
答案 0 :(得分: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 根据需要忽略隐藏的行: