2013-12-18 5 views
0

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

Я хотел бы показать как минимум (в качестве примера) 5 столбцов и, возможно, больше в зависимости от группы.

Есть ли способ установить как минимум столбцы, указанные в отчете? Кроме того, могу ли я определить ширину, например, 20 см или 8 дюймов, и чтобы колонки соответствовали их ширине одинаково в этом диапазоне?

ответ

0

Количество столбцов, отображаемых в отчете, будет зависеть от ваших данных. Если ваш запрос не возвращает пять различных значений, вы не получите пять столбцов. Один трюк, который вы можете использовать, заключается в том, чтобы добавить фиктивные записи в ваш запрос с помощью UNION, пока у вас не будет достаточно различных значений. Например:

SELECT MonthName, Amount FROM Table1 
UNION ALL 
SELECT 'JAN' AS MonthName, 0 AS Amount 
UNION ALL 
SELECT 'FEB' AS MonthName, 0 AS Amount 
UNION ALL 
SELECT 'MAR' AS MonthName, 0 AS Amount 
UNION ALL 
SELECT 'APR' AS MonthName, 0 AS Amount 
UNION ALL 
SELECT 'MAY' AS MonthName, 0 AS Amount 

Может быть, Table1 предоставит вам некоторые или все эти месяцы. Но теперь вы знаете, что ваш результирующий набор будет содержать как минимум достаточно разных MonthNames, чтобы предоставить вам пять столбцов. Вы также должны быть осторожны, чтобы убедиться, что ваши фиктивные записи не мешают основной работе отчета, например, суммировать общую сумму.

Вы задали отдельный вопрос о ширине столбцов. Попробуйте найти «Выражение», где вы можете установить ширину столбца. Вам нужно будет знать, сколько столбцов ваши данные в настоящее время возвращают. SQL может усложниться, но один из способов сделать это может заключаться в том, чтобы поместить запрос в CTE (Common Table Expression), а затем также вернуть COUNT (DISTINCT MonthName) как MonthColumnCount. Вы должны использовать (Первое значение) MonthColumnCount для вычисления требуемой ширины столбца. Возможно, это может стоить больше усилий, чем это стоит вам.

0

Ok ТНХ я буду видеть, как далеко я могу получить с этим :)

В моем примере я должен сообщить количество часов, которые были зарегистрированы на основании недели и функций.

Где мои недели - это строки, а функции - столбцы, проблема в том, что я не знаю, сколько людей с разными функциями регистрировали часы в этом конкретном месяце/неделю/год/... :).

+0

Я бы попытался добавить фиктивные записи с нулевыми часами на каждую из недель и функций, которые вы обязательно обязательно увидите в отчете. Удачи! – criticalfix

Смежные вопросы