Как сгруппировать несколько наборов результатов в отчете?

StackOverflow https://stackoverflow.com/questions/278101

Вопрос

Я использую ActiveReports с ASP.NET, но думаю, что подойдет любой аналогичный компонент отчетности.

У меня есть два набора результатов для объединения и отображения в одном отчете, например:

Table 1:

Name Job              Start End
Jack Some service     1992  1997
Jack Some Sales Exp   1998  2007
Jane Some programming 2000  2003

Table 2:

Name Training
Jack Shiny French Certificate
Jane Crappy database certificate
Jane Some courses in management

И отчет должен выглядеть так:

Jack
  Job History:
    Some Corp, 1992-1997
    Some Sales Exp, 1998-2007
  Training History:
    Shiny French Certificate
Jane
  Job History:
    Some programming, 2000-2003
  Training History:
    Crappy database certificate
    Some courses in management

Как мне объединить две таблицы и как мне разработать макет для получения отчета в данном примере?

Обновлять:

Как вы можете заметить, я не пытаюсь сделать это с помощью одного выбора.У меня есть две таблицы данных в качестве источника, и я могу объединить их вручную, чтобы получить один источник данных.Я пытаюсь использовать группировку, но мне нужно два типа групп для каждого сотрудника.Один для работы, другой для обучения.Как я могу использовать функцию групп или подотчетов для привязки данных такого типа (и как мне следует обрабатывать данные, если это необходимо)?

Это было полезно?

Решение

Используйте вложенные отчеты...Создайте основной отчет, который будет иметь два подотчета.Один подотчет для истории заданий и один подотчет для истории обучения.Для основного отчета потребуется запрос, который вернет список людей.Затем для каждого человека в деталях основного отчета установите параметр в каждом из дочерних подотчетов, который будет уточнять запрос в этих двух, чтобы отображать историю заданий или историю обучения только для текущего человека, отображаемого в родительском отчете.

Подробное пошаговое руководство, объясняющее, как это сделать шаг за шагом, находится на веб-сайте Data Dynamics. здесь.Некоторая обзорная информация также здесь

Другие советы

В общем, вы не можете сделать это с помощью одного оператора SELECT.Большинство инструментов отчетности предлагают своего рода «подотчеты» или «внутренние разделы», которые выполняются по другому вопросу SQL и имеют некоторые параметры, передаваемые из основного отчета.Вы можете использовать два подотчета и один главный отчет.

Вам следует выбрать эти две таблицы с помощью «левого соединения», создать раздел «GroupHeader/Footer» в отчете и установить «DataField» в разделе «GroupHeader» в поле, которое следует использовать в качестве группировки.

Посмотрите примеры из ActiveReports, там наверняка есть образец для группировки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top