Как добавить разрыв страницы SSRS после 65536 строк, подсчитывая верхний / нижний колонтитул группы

у меня есть отчет SSRS, который не удается экспортировать в excel, когда количество строк больше предела Excel 2003 65536

отчет уже имеет уровень группировки с нижним колонтитулом группы.

Я попытался добавить дополнительный уровень группировки с разрывом страницы в выражении

=ceiling(rownumber(nothing)/65536)

однако это подсчитывает строки сведений, но не учитывает нижний колонтитул группы. Поэтому функция rownumber значение 53000 в то время как фактическое число строк превышает 65536.

следующее выражение

=ceiling(RunningValue(Fields!myfirstgroup.Value, CountDistinct, Nothing) + rownumber(nothing) / 65536 )

даст мне фактическое количество строк, включая нижние колонтитулы группы, но SSRS не позволит группе в выражении текущего значения.

как заставить разрыв страницы после 65536 строк разрешить экспорт в Excel? Я надеялся выполнить это в определении отчета и избежать добавления расчетного номера страницы в запрос .

любая помощь очень ценится

* обновление - Пример данных *

ItemDescription , Location , Quantity

Red lorry , M25 , 5

Red lorry , M6 , 2

Yellow lorry , M1 , 3

отчет имеет группировку по ItemDescription с итогом для этого элемента, поэтому он покажет

ItemDescription , Location , Quantity

    Red lorry , M25 , 5

    Red lorry , M6 , 2

      Total for Red Lorry,7

    Yellow lorry , M1 , 3

      Total for Yellow Lorry,3

это означает, что из моих 3 строк данных у меня есть 5 строк отчета, включая подробные и нижние строки. SSRS может сказать, сколько строк подробностей в моем наборе данных, но мне нужно учитывать нижние колонтитулы для разрыва страницы.

2 ответов


привет, эта ссылка может помочь вам. У меня была похожая проблема несколько лет назад.

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

=Floor((RowNumber(Nothing)-1)/2000)

был предложен ответ


создать группу со следующим выражением: =CInt (потолок (номер строки (ничего) / 65000))

65000 дает вам немного дополнительной комнаты для любых верхних или нижних колонтитулов. Затем сделайте разрыв страницы в этой группе "между каждым экземпляром группы "и" также в конце группы", и вы успешно преодолеете проблему ограничения файла excel.

Это то, что мы обычно используют без каких-либо проблем. Я не думаю, что кто-нибудь заметит, если вы специально не используете все 65,536 строк.