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

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

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

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

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

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

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


person Cooper Cripps    schedule 23.09.2013    source источник


Ответы (1)


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

Скажем, у вас есть простой DataSet и простой Tablix, основанный на этом:

введите описание изображения здесь

введите описание изображения здесь

Здесь RowNum рассчитывается как:

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

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

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

введите описание изображения здесь

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

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

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

введите описание изображения здесь

person Ian Preston    schedule 23.09.2013
comment
Спасибо. Это было очень полезно. - person Cooper Cripps; 24.09.2013