Номер строки SSRS в таблице, исключая скрытые строки

Я использую следующее выражение для получения номера строки для таблицы в SSRS:

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

Я также использую выражение для свойства видимости строки. Давайте просто скажем, что выражение видимости

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

мое выражение для номера строки не учитывает, является ли строка видимой или нет.

я мог бы, очевидно, изменить запрос набора данных, но можно ли просто изменить выражение номера строки, чтобы включить только строки, которые не являются спрятан? Спасибо

1 ответов


вы, вероятно, можете достичь этого, объединив логику ваших двух выражений.

скажем, у вас есть простой набор данных и простой Табликс, основанный на этом:

enter image description here

enter image description here

здесь параметр rownum рассчитывается как:

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

Далее, давайте скроем некоторые строки, используя выражение, основанное на двух других полях:

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

enter image description here

это ломает параметр rownum, но мы можем изменить выражение, чтобы игнорировать скрытые строки. Мы делаем это, обнуляя их (т. е. для SSRS, установленных как Nothing) -CountDistinct не будет рассматривать какие-либо Nothing значения:

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

теперь параметр rownum игнорирует скрытые строки по мере необходимости:

enter image description here