Wie gruppieren Sie mehrere Ergebnisse in einem Bericht?
-
07-07-2019 - |
Frage
Ich verwende ActiveReports mit ASP.NET, aber ich denke, die Antwort auf eine ähnliche Berichtskomponente wird es tun.
Ich habe zwei Ergebnisse, um in einem einzigen Bericht zusammenzuführen und zu zeigen, wie:
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
Und der Bericht sollte aussehen wie:
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
Wie sollte ich die beiden Tabellen zusammenführen und wie soll ich das Layout entwerfen, um den Bericht im angegebenen Beispiel zu ermitteln?
Aktualisieren:
Wie Sie vielleicht bemerken, versuche ich nicht, dies mit einem einzigen Auswahl zu tun. Ich habe zwei DataTables als Quelle und kann sie von Hand zusammenführen, um eine einzelne Datenquelle zu erhalten. Ich versuche eine Gruppierung zu verwenden, aber ich brauche zwei Arten von Gruppen für jeden Mitarbeiter. Eine für die Jobs und eine für die Schulungen. Wie kann ich Gruppen oder Unterberichtsfunktionen verwenden, um diese Art von Daten zu binden (und wie sollte ich die Daten gegebenenfalls verarbeiten)?
Lösung
Verwenden Sie Unterberichte ... Erstellen Sie einen Hauptbericht mit zwei Unterberichten. Ein Teilbericht für die Arbeitsplatzgeschichte und ein Teilbericht für die Ausbildungsgeschichte. Der Hauptbericht benötigt eine Abfrage, die eine Liste von Personen zurückgibt. Legen Sie dann für jede Person im Detail des Hauptberichts einen Parameter für jedes der untergeordneten Unterberichte fest, die die Abfrage in diesen beiden verfeinern, um den Job- oder Trainingsgeschichte für nur die aktuelle Person aufzulisten, die im übergeordneten Bericht angezeigt wird.
Eine detaillierte Vorgehensweise, die erklärt, wie diese Schritt für Schritt auf der Website der Datendynamik geht hier. Einige Übersichtsinformationen sind auch hier
Andere Tipps
Im Allgemeinen können Sie es in einer einzigen Auswahlanweisung nicht tun. Die meisten Berichterstattungstools bieten eine Art "Subberichte" oder "innere Abschnitte", die auf einer anderen SQL -Frage ausgeführt werden und einige Parameter aus dem Hauptbericht übergeben haben. Sie können zwei Unterberichte und einen Master -Bericht verwenden.
Sie sollten diese beiden Tabellen mit "linksjoin" auswählen, einen Abschnitt "Groupheader/Footer" in Bericht und "DataField" auf "Groupheader" -Abschnitt zum Feld erstellen, das als Gruppierung verwendet werden sollte.
Schauen Sie sich die Proben von ActiveReports an, sie haben sicherlich eine Stichprobe für die Gruppierung.