Может быть, если сделать родительскую группу комбинированной группой по размеру и цвету, однако отобразятся только цвета, а затем группа по размеру для дочерней / подгруппы.
Обновление:
Хорошо, так чтоЯ создал небольшой набор данных, но я не уверен, что набор данных похож на то, что вы получаете, но, возможно, он может подтолкнуть некоторые другие идеи о том, как вы можете манипулировать данными в SQL, чтобы получить то, что вы хотите в отчете.
Сначала я просто создал несколько операторов SELECT ... UNION ALL, но после некоторой игры я все еще не мог получить ничего похожего на требуемый визуальный вывод / группировку.Итак, вот что я использовал:
with CTE (Color, Size, CSGroup, Amt) As (
select 'Red' As color, 'Small' as size, 'RedSmall' as CSGroup, 1 as Amt union all
select 'Red' As color, 'Small' as size, 'RedSmall' as CSGroup, 1 as Amt union all
select 'Red' As color, 'Medium' as size,'RedMedium' as CSGroup, 1 as Amt union all
select 'Red' As color, 'Medium' as size, 'RedMedium' as CSGroup, 1 as Amt union all
select 'Red' As color, 'Medium' as size, 'RedMedium' as CSGroup, 1 as Amt union all
select 'Red' As color, 'Small' as size, 'RedSmall' as CSGroup, 1 as Amt union all
select 'Yellow' As color, 'Small' as size, 'YellowSmall' as CSGroup ,1 as Amt union all
select 'Yellow' As color, 'Small' as size, 'YellowSmall' as CSGroup ,1 as Amt union all
select 'Yellow' As color, 'Large' as size, 'YellowLarge' as CSGroup ,1 as Amt union all
select 'Yellow' As color, 'Large' as size, 'YellowLarge' as CSGroup ,1 as Amt union all
select 'Yellow' As color, 'Large' as size, 'YellowLarge' as CSGroup ,1 as Amt union all
select 'Yellow' As color, 'Medium' as size, 'YellowMedium' as CSGroup ,1 as Amt union all
select 'Yellow' As color, 'Medium' as size, 'YellowMedium' as CSGroup ,1 as Amt union all
select 'Blue' As color, 'Medium' as size, 'BlueMedium' as CSGroup, 1 as Amt union all
select 'Blue' As color, 'Medium' as size, 'BlueMedium' as CSGroup, 1 as Amt union all
select 'Blue' As color, 'Medium' as size, 'BlueMedium' as CSGroup, 1 as Amt union all
select 'Blue' As color, 'Small' as size, 'BlueSmall' as CSGroup, 1 as Amt union all
select 'Blue' As color, 'Large' as size, 'BlueLarge' as CSGroup, 1 as Amt union all
select 'Blue' As color, 'Large' as size, 'BlueLarge' as CSGroup, 1 as Amt union all
select 'Green' As color, 'Medium' as size, 'GreenMedium' as CSGroup, 1 as Amt union all
select 'Green' As color, 'Medium' as size, 'GreenMedium' as CSGroup, 1 as Amt union all
select 'Green' As color, 'Large' as size, 'GreenLarge' as CSGroup, 1 as Amt union all
select 'Green' As color, 'Large' as size, 'GreenLarge' as CSGroup, 1 as Amt union all
select 'Green' As color, 'Large' as size, 'GreenLarge' as CSGroup, 1 as Amt union all
select 'Green' As color, 'Small' as size, 'GreenSmall' as CSGroup, 1 as Amt union all
select 'Green' As color, 'Small' as size, 'GreenSmall' as CSGroup, 1 as Amt)
Select Color, Size, SUM(Amt) As Amount From CTE group by Color, Size
Вы можете игнорировать CSGroup
Я не заканчивал тем, что использовал его.
Так что с этим, это одал мне «взгляд» того, что вам нужно в наборе данных.
Я выдал матрицу и сгруппировал по размеру и цвету (=Fields!size.Value & Fields!color.Value
)
I Затем вставил группу и сгруппировалпо размеру (=Fields!size.Value
)
В «верхней» группе столбцов у меня есть =Fields!color.Value
Во второй группе столбцов у меня есть =First(Fields!Size.Value)
в данныхтекстовое поле У меня есть =Sum(Fields!Amount.Value)
Затем щелкните правой кнопкой мыши на второй группе столбцов и установите флажок «Скрыть дубликаты».Затем я выбрал Dataset1
в раскрывающемся списке.
Единственное, что мне не удалось сделать, это центрировать размер, поскольку я не смог объединить текстовые поля.