Я хочу, чтобы верхние 20 строк из отчета SSRS Matrix и остальные строки были объединены в 21 строку с именем строки, жестко закодированным как «Другие».Получение верхних 20 строк и остальных в 21-й строке в отчете матрицы SSRS
Я создал отчет матрицы SSRS с группировкой строк на основе «Category_Name» и группировки столбцов на основе «Creation_Time». Группа столбцов «Creation_Time» отформатирована для отображения даты в формате «M/yyyy». Я группирую «Id_Number» как Count (Id_Number) для каждой группы, и я хочу, чтобы 20 записей, отсортированных по счету (Id_Number), были наивысшими в порядке убывания или убывания.
Я поставил условие видимости, как показано на рисунке:
Я дал следующее выражение для строки «Другие»
=count(iif(RunningValue(Fields!Category_Name.Value,countdistinct,nothing)>20,Fields!Id_Number.Value,0)
Но это не сработало , Я получил сообщение об ошибке: «Запуск функций не может быть указан как вложенные агрегаты».
Я ранее пытался использовать фильтр TOP N для группировки строк SSRS на основе подсчета (Id_Number), который дает Top 20 строк. Но если мы добавим «групповое общее» в группировку строк, это даст общее количество всех строк а не только 20 верхних рядов. Логика, о которой я думал, заключалась в том, чтобы вычесть общее количество верхних 20 строк из общего числа всех строк. Но я не могу получить общее количество 20 строк.
Я использовал базовый запрос SQL с 2 параметрами, @begin и @end:
SELECT Category_Name, Id_Number, Creation_Date
FROM Tbl
WHERE Creation_Date BETWEEN @Begin AND @End
Нужный выход этого доклада заключается в следующем:
Я получаю все, как в желаемый результат, за исключением последней строки «Другие».
Получаете ли вы данные из SQL-запроса? – iamdave
Да, Получение данных из запроса mssql. –
Вы захотите обработать это в своем SQL вместо своего отчета, используя 'row_number' и wrapping' select'. Можете ли вы опубликовать свой сценарий? – iamdave