Как сгруппировать несколько наборов результатов в отчет? - PullRequest
1 голос
/ 10 ноября 2008

Я использую 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

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

Обновление:

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

Ответы [ 3 ]

2 голосов
/ 06 января 2009

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

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

1 голос
/ 10 ноября 2008

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

0 голосов
/ 10 ноября 2008

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

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

...