Come raggruppare più set di risultati in un report?
-
07-07-2019 - |
Domanda
Sto utilizzando ActiveReports con ASP.NET ma penso che la risposta per qualsiasi componente di reportistica simile funzionerà.
Ho due set di risultati da unire e mostrare in un unico rapporto, come:
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
E il rapporto dovrebbe apparire come:
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
Come devo unire le due tabelle e come devo progettare il layout per ottenere il rapporto nell'esempio dato?
Aggiornamento:
Come puoi notare, non sto provando a farlo con una sola selezione. Ho due database come fonte e posso unirli a mano per ottenere una singola fonte di dati. Sto cercando di utilizzare il raggruppamento ma ho bisogno di due tipi di gruppi per ciascun dipendente. Uno per i lavori e uno per i corsi di formazione. Come posso utilizzare la funzionalità di gruppi o sotto-report per associare questo tipo di dati (e come devo elaborare i dati se necessario)?
Soluzione
Usa sottoreport ... Crea un report principale che avrà due sottoreport. Un sottoreport per cronologia lavori e un sottoreport per cronologia formazione. Il rapporto principale avrà bisogno di una query che restituirà un elenco di persone. Quindi, per ogni persona nei dettagli del rapporto principale, impostare un parametro su ciascuno dei sottoreport secondari che perfezionerà la query in quei due per elencare la cronologia del lavoro o la cronologia della formazione solo per la persona corrente visualizzata nel rapporto principale.
Una procedura dettagliata che spiega come eseguire questa procedura passo-passo è disponibile sul sito Web di Data Dynamics qui . Alcune informazioni generali sono inoltre qui
Altri suggerimenti
In generale non è possibile farlo in una singola istruzione SELECT. La maggior parte degli strumenti di reporting offre una sorta di "sottoreport" o "sezioni interne" che vengono eseguiti su una domanda SQL diversa e alcuni parametri vengono passati dal rapporto principale. È possibile utilizzare due sottoreport e un rapporto principale.
Dovresti selezionare queste due tabelle con " join sinistro " ;, crea un " GroupHeader / Footer " sezione nel rapporto e impostare " DataField " su " GroupHeader " sezione a campo, che dovrebbe essere utilizzata come raggruppamento.
Guarda gli esempi da ActiveReports, hanno sicuramente un campione per il raggruppamento.