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)?

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top