Отображение одного столбца для нескольких (n раз) - PullRequest
0 голосов
/ 19 октября 2018

У меня есть обычный отчет, подобный приведенному ниже,

Animal
Dog
Cat
Elephant
Tiger
Lion
Man
Panda

Который я хочу сделать перерыв после n столбцов.

Animal      Animal
Dog         Cat
Elephant    Tiger
Lion        Man
Panda

Я пробовал разрыв страницы, которыйврывается на новую страницу.Делали ли некоторые группировки и т.д .. до сих пор не получилось.Есть ли способ в SSRS, чтобы решить это.Я знаю, как сделать это через SQL, я спрашиваю о том, чтобы сделать это через SSRS.

Редактировать: Я использовал следующий запрос в SSRS.

SELECT 610 AS [Period],1 AS RowNumber
UNION
select 611, 2
UNION
select 612, 3
UNION
select 613, 4
UNION
select 614, 5
UNION
select 615, 6
UNION
select 616, 7
UNION
select 617, 8

Iдобавил новую таблицу Matrix, затем я добавил поле 'Period' в таблицу Matrix (Снимок экрана № 1).В столбце группировка выражений.Я использовал следующие выражения.По одному

=Floor(Fields!RowNumber.Value / 3) and =Fields!RowNumber.Value Mod 3

, но теперь он показывает только 3 столбца.

То, что я ожидал увидеть, это (Снимок экрана № 3) и что я получаю (Снимок экрана № 2).

Снимок экрана: enter image description here

1 Ответ

0 голосов
/ 19 октября 2018

Вы не можете использовать агрегатные функции SSRS, такие как RowNumber, для группировки выражений или вычисляемых полей набора данных.Поэтому вам нужно добавить число в ваши строки в SQL.Я бы порекомендовал использовать ROW_NUMBER для этого.Вы также можете использовать функцию RANK.Вам не нужно ничего разделять, просто дайте ему что-то для сортировки, и вы готовы к работе.

Затем в отчете вы можете использовать выражение группировки столбцов, как это, чтобы получить 5 строк на столбец:

=Floor(Fields!RowNumber.Value / 5)

Чтобы использовать определенное количество столбцов, вы можете использовать выражение, подобное этому:

=Fields!RowNumber.Value Mod 5
...