Как показать Двойной сгруппированный отчет - PullRequest
0 голосов
/ 23 июня 2011

Предположим, что результат моего SQL-запроса

Colour   size    week 1  week2  week 3


Black      x       1      2       3

white      xx      1      1       0

yellow     large   2      1       0

Я хочу создать отчет по этому запросу.

               week 1               week 2              week 3
    ----------------------------------------------------------------
           x   xx   large       x   xx   large        x   xx   large
   ----------------------       --------------        -------------                                            
    black  1     0    0         2    0    0           3    0     0 

    white  1     0    0         0    1    0           0    0     0

    yellow 2     0    0         0    2    0           0    0     0

Возможности, о которых я так думаю!

  1. В отчете RDLC измените XML отчета во время выполнения. (Очень сложный, поскольку размеры и цвета случайны)

  2. В отчете Crystal Report создатьновый отчет за каждую неделю, а в последнем показывать их как подотчеты в основном отчете (это эффективно, что будет, если мне придется создавать отчет за 15 недель или более).

  3. СоздатьПерекрестные таблицы для каждой недели и выровняйте их, чтобы они выглядели как отчет выше.

Подскажет ли какой-нибудь орган, как лучше всего создать отчет в вышеуказанном формате.Есть кое-что, чего мне не хватает.

1 Ответ

1 голос
/ 23 июня 2011

Этого можно достичь с помощью группировки, но это потребует больших усилий. Предполагая, что столбцы недель являются статическими, вам, по сути, потребуется сгруппировать по каждому столбцу данных (недели, размер, цвет), а затем поместить свои верхние колонтитулы в нижние колонтитулы группы со сводными или промежуточными итоговыми значениями, перенося ваши значения туда, где они вам нужны.

Первая часть была намеренно расплывчатой, потому что точное описание этого было бы сложным, поэтому вместо этого я собирался предложить другое решение. Вместо этого вы можете использовать кросс-таблицу, но поскольку ваш 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-запрос, который принимает отчет, я считаю, что это лучшее решение. Дайте мне знать, если у вас есть какие-либо проблемы. Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...