Этого можно достичь с помощью группировки, но это потребует больших усилий. Предполагая, что столбцы недель являются статическими, вам, по сути, потребуется сгруппировать по каждому столбцу данных (недели, размер, цвет), а затем поместить свои верхние колонтитулы в нижние колонтитулы группы со сводными или промежуточными итоговыми значениями, перенося ваши значения туда, где они вам нужны.
Первая часть была намеренно расплывчатой, потому что точное описание этого было бы сложным, поэтому вместо этого я собирался предложить другое решение. Вместо этого вы можете использовать кросс-таблицу, но поскольку ваш sql в настоящее время создается, я думаю, что для каждой недели потребуется отдельная кросс-таблица.
Я предлагаю, и это основано на некотором предположении, но я предполагаю, что у вас есть возможность контролировать SQL-запрос, поступающий в отчет. Если бы вы могли поверить, было бы лучше переформатировать SQL-запрос и позволить кросс-таблице выполнять всю работу, а не разбивать недели самостоятельно. В первой части моего ответа я предполагал, что недели были статичными, но я предполагаю, что это не окончательное решение, и в этом случае я думаю, что если вы используете вывод данных, как показано ниже, вы сможете создать кросс-таблицу, которая будет позволяют отображать недели в виде столбцов.
Color size week amt
Black x 1 1
Black x 2 2
Black x 3 3
white xx 1 1
white xx 2 1
white xx 3 0
yellow large 1 2
yellow large 2 1
yellow large 3 0
Это не проверено, так что не стреляйте в меня, но я полагаю, что с этим макетом вам просто нужно сделать столбец недель и размеров полями в разделе столбцов кросс-таблицы, цветным полем в разделе строк на кресте. вкладка и сумма в разделе суммированных полей.
В общем, я пытаюсь ответить на вопрос, заданный здесь, прежде чем предложить решение, и понимаю, что в этом случае я этого не сделал, но если у вас есть возможность изменить SQL-запрос, который принимает отчет, я считаю, что это лучшее решение. Дайте мне знать, если у вас есть какие-либо проблемы. Надеюсь, это поможет.