Vorheriges ThemaNächstes Thema


Lernprogramm 2: Berichtsdaten gruppieren

Dieses Lernprogramm erläutert, wie Sie Kundendaten nach dem Kreditrahmen gruppieren. Ausgangspunkt ist der Bericht, den Sie im Lernprogramm 1: Einfachen Listenbericht erstellen erstellt haben. In diesem ersten Lernprogramm haben Sie einen einfachen Bericht erstellt, der Kunden in alphabetischer Reihenfolge auflistet. In diesem Bericht werden Kunden in Kreditrahmengruppen von 50.000 US-Dollar verwaltet, also in einer Gruppe von 0-49999, von 50000-99999, von 100000-149999 usw.

Bevor Sie mit diesem Lernprogramm beginnen können, müssen Sie das erste Lernprogramm abgeschlossen haben.

In diesem Lernprogramm führen Sie die folgenden Tasks aus:

Task 1: Berichtsentwurf öffnen

Im ersten Lernprogramm haben Sie die Datei "Customers.rptdesign" in einem Projektordner namens "My Reports" erstellt. Öffnen Sie die Datei "Customers.rptdesign" mit einem der folgenden Verfahren:

Die Datei wird nun im Layouteditor geöffnet (siehe Abbildung 8-1).

Abbildung 8-1: Berichtsentwurf "Customer" im Layouteditor

Task 2: Bericht als neue Datei speichern

Statt den im ersten Lernprogramm erstellten Bericht direkt zu bearbeiten, speichern Sie den Bericht "Customers.rptdesign" als neue Datei.

  1. Wählen Sie die Optionen "Datei > Speichern unter" aus. Im Fenster "Speichern unter" werden der aktuelle Name und die aktuelle Position der Datei angezeigt.
  2. Ändern Sie im Feld "Dateiname" den Wert "Customers.rptdesign" in "Customers_grouped.rptdesign", und wählen Sie dann "Fertig stellen" aus. Die BIRT-Berichtentwicklungsfunktion erstellt eine Kopie der Datei "Customers.rptdesign". Die neue Datei wird im Layouteditor angezeigt.

Task 3: Feld für Kreditrahmen zum Datensatz hinzufügen

Damit der Bericht Daten über den Kreditrahmen anzeigt, müssen Sie das Feld CREDITLIMIT zum Datensatz hinzufügen.

  1. Wählen Sie den Daten-Explorer aus.
  2. Erweitern Sie den Eintrag "Datensätze", und doppelklicken Sie dann auf "Customers". Im Fenster "Datensatz bearbeiten" wird daraufhin die SQL-Abfrage für den Datensatz "Customers" angezeigt.
  3. Fügen Sie nach der Angabe "phone" ein Komma (,) hinzu.
  4. Fügen Sie in der nächsten Zeile den folgenden Text hinzu:
  5. creditLimit 
    
    Die geänderte Abfrage sollte nun wie in Abbildung 8-2 gezeigt aussehen.

    Abbildung 8-2: Abfrage mit hinzugefügtem Feld "creditLimit"
  6. Wählen Sie die Option "Vorschauergebnisse" an, um zu prüfen, ob die Abfrage Zeilen mit Informationen zum Kreditrahmen zurückgibt.
  7. Wählen Sie "OK" aus, um den Datensatz zu speichern.

Task 4: Kreditrahmendaten zum Bericht hinzufügen

In dieser Prozedur fügen Sie das Feld für den Kreditrahmen in die vorhandene Tabelle ein.

  1. Wählen Sie die Tabelle im Layouteditor aus. Über und links von der Tabelle werden nun Führungszellen angezeigt.
  2. Klicken Sie mit der rechten Maustaste auf die Führungszelle über der ersten Spalte, und wählen Sie dann die Optionen "Einfügen > Spalte links" aus (siehe Abbildung 8-3).
  3. Abbildung 8-3: Spalte links neben einer vorhandenen Spalte einfügen
    Jetzt wird eine neue Spalte angezeigt.
  4. Erweitern Sie im Daten-Explorer nacheinander die Einträge "Datensätze" und "Customers". Im Datensatz "Customers" werden die Felder angezeigt, die in der Abfrage angegeben sind.
  5. Ziehen Sie das Feld CREDITLIMIT aus dem Daten-Explorer, und übergeben Sie es in der Detailzeile neben [CUSTOMERNAME].
  6. Die BIRT-Berichtentwicklungsfunktion erstellt eine benannte Spalte, die an das Feld des Datensatzes gebunden ist. Mit "Datenbinding auswählen" können Sie das Binding dieser Spalte anzeigen.
  7. Wählen Sie "OK" aus, um das Standardspaltenbinding zu akzeptieren.
  8. Im Layouteditor wird in der Tabelle nun das hinzugefügte Feld angezeigt. Außerdem wird das Bezeichnungselement angezeigt, das der Layouteditor automatisch zur Headerzeile hinzugefügt hat. Diese Bezeichnung dient als Spaltenüberschrift und zeigt den Feldnamen als unveränderlichen Text an. Der Bericht sollte nun wie in Abbildung 8-4 gezeigt aussehen.

    Abbildung 8-4: Ergebnis mit dem hinzugefügten Feld für den Kreditrahmen im Layouteditor
  9. Bearbeiten Sie die Bezeichnung CREDITLIMIT so, dass der Wert Credit Limit angezeigt wird.
  10. Rufen Sie eine Vorschau des Berichts auf. Der Bericht sollte nun wie in Abbildung 8-5 gezeigt aussehen.
  11. Abbildung 8-5: Berichtsvorschau mit hinzugefügter Bezeichnung "Credit Limit"
    Einige Kunden haben einen Kreditrahmen von 0. Hierbei handelt es sich um Neukunden, deren Kreditwürdigkeit noch nicht geprüft wurde.

Task 5: Kundendaten nach Kreditrahmen gruppieren

Der Bericht ist gegenwärtig in alphabetischer Reihenfolge der Kundennamen sortiert. Sie erinnern sich, dass Sie im ersten Lernprogramm die Sortierung der Tabelle nach den Kundennamen angegeben haben. In der folgenden Prozedur gruppieren Sie die Daten nach dem Kreditrahmen und wenden hierbei Intervalle von 50.000 an. Wenn Sie die Daten gruppieren, sortiert BIRT zunächst die Zeilen in Gruppen und dann die Zeilen innerhalb jeder Gruppe (unter der Voraussetzung, dass Sie eine Sortierbedingung auf Tabellenebene angeben). Nach Abschluss dieser Task werden Sie feststellen, dass die Datenzeilen in den einzelnen Kreditrahmengruppen nach dem Kundennamen sortiert sind.

  1. Wählen Sie die Option "Layout" aus, um zum Layouteditor zurückzukehren.
  2. Klicken Sie mit der rechten Maustaste auf eine Stelle in der Tabelle, und wählen Sie die Optionen "Gruppe einfügen > Oben" aus. Im Fenster "Neue Gruppe", das in Abbildung 8-6 dargestellt ist, werden die Gruppeneigenschaften angezeigt, die Sie festlegen können.
  3. Abbildung 8-6: Neue Gruppe
  4. Nehmen Sie nun folgendermaßen eine Gruppierung nach Kreditrahmen in Intervallen von 50.000 vor:
    1. Geben Sie bei "Name" den folgenden Text als Gruppennamen ein:
    2. credit_group 
      
    3. Wählen Sie bei "Gruppieren nach" in der Dropdown-Liste den Eintrag CREDITLIMIT aus.
    4. Wählen Sie bei "Intervall" in der Dropdown-Liste den Eintrag "Intervall" aus.
    5. Geben Sie bei "Bereich" den Wert "50000" ein.
    6. Verwenden Sie für die anderen Optionen die Standardwerte.
    7. Wählen Sie "OK" aus.
    Die Tabelle im Berichtsentwurf zeigt einen Gruppenheader und eine Gruppenfußzeile an (siehe Abbildung 8-7). Außerdem wird das Datenelement angezeigt, das der Layouteditor automatisch zur Headerzeile der Gruppe hinzugefügt hat. Dieses Datenelement dient als Gruppenüberschrift und zeigt im generierten Bericht den ersten Kreditrahmenwert jeder Gruppe an.

    Abbildung 8-7: Gruppenheader und Gruppenfußzeile in einem Berichtsentwurf
  5. Wählen Sie das Datenelement [CREDITLIMIT] aus, das in der Gruppenheaderzeile angezeigt wird. Wählen Sie nicht das Datenelement [CREDITLIMIT] aus, das in der Detailzeile angezeigt wird.
  6. Wählen Sie im Eigenschafteneditor die Registerkarte "Allgemein" aus, und wählen Sie dann die Option "B" aus, um die Gruppenüberschrift in Fettschrift zu formatieren.
  7. Rufen Sie eine Vorschau des Berichts auf. Blättern Sie im Bericht vor, um alle Daten anzuzeigen. Wie aus Abbildung 8-8 ersichtlich ist, fasst der Bericht die Daten in vier Kreditrahmengruppen zusammen. Am Anfang jeder Gruppe werden die folgenden Zahlen in Fettschrift angezeigt: 0, 61100, 113000, 227600. Diese Zahlen entsprechen dem ersten Kreditrahmenwert in jeder Gruppe. Innerhalb der einzelnen Gruppen sind die Kunden in alphabetischer Reihenfolge sortiert.
  8. Abbildung 8-8: Berichtsvorschau mit einer der vier Kreditrahmengruppen

Task 6: Kreditrahmenbereich im Gruppenheader anzeigen

Statt im Gruppenheader den ersten Wert jeder Gruppe anzuzeigen, sollten Sie folgendermaßen den Kreditrahmenbereich jeder Gruppe anzuzeigen, damit die Navigation im Bericht einfacher ist:

0 - 49999 
50000 - 99999 
100000 - 149999 

Diese Prozedur erläutert, wie Sie einen JavaScript-Ausdruck schreiben, um diese Kreditrahmenbereiche anzuzeigen. Außerdem erfahren Sie, wie Sie ein Spaltenbinding für die Zuordnung des JavaScript-Ausdrucks erstellen können.

  1. Wählen Sie die Option "Layout" aus, um zum Layouteditor zurückzukehren.
  2. Wählen Sie die Tabelle aus, und wählen Sie im Eigenschafteneditor die Registerkarte "Binding" aus.
  3. Erstellen Sie ein neues Spaltenbinding:
    1. Wählen Sie die Option "Hinzufügen" aus.
    2. Geben Sie im Erstellungsprogramm für Ausdrücke den folgenden Ausdruck ein:
    3. for(i=50000; i<300000; i+=50000){ 
      if( row["CREDITLIMIT"] < i ){ 
        rangeStart = i-50000; 
        rangeEnd = i-1; 
        break; 
      } 
      } 
      displayString=rangeStart + " - " + rangeEnd; 
      
    4. Wählen Sie "OK" aus. Das neue Spaltenbinding wird im Eigenschafteneditor auf der Seite "Binding" angezeigt, und der Spaltenname ist hervorgehoben.
    5. Ersetzen Sie den Namen "Neues Binding" durch den folgenden Namen:
    6. CREDIT_GROUP_HEADER 
      
  4. Aktualisieren Sie das Datenelement CREDITLIMIT im Gruppenheader so, dass das neue Spaltenbinding verwendet wird. Hierzu doppelklicken Sie auf das Datenelement, wählen das Binding CREDIT_GROUP_HEADER und dann "OK" aus.
  5. Rufen Sie eine Vorschau des Berichts auf. In den Gruppenheadern werden nun die Kreditrahmenbereiche angezeigt. Abbildung 8-9 zeigt den Gruppenheader "50000 - 99999".
  6. Abbildung 8-9: Berichtsvorschau mit Kreditrahmenbereichen

Task 7: Aggregatinformationen anzeigen

Einer der Vorteile, der sich aus der Gruppierung von Daten ergibt, ist die Möglichkeit, Zusammenfassungsinformationen (auch Aggregatinformationen genannt) am Anfang oder am Ende einer Gruppe hinzuzufügen. In der folgenden Prozedur führen Sie die folgenden Tasks aus:

  1. Wählen Sie die Option "Layout" aus, um zum Layouteditor zurückzukehren.
  2. Zeigen Sie die Anzahl der Kunden in jeder Gruppe an:
    1. Ziehen Sie ein Datenelement aus der Palette, und übergeben Sie es in der ersten Zelle der Gruppenfußzeile. Elemente, die in der Gruppenfußzeile enthalten sind, werden am Ende jeder Gruppe angezeigt.
    2. Erstellen Sie in der Anzeige "Datenbinding auswählen" ein neues Spaltenbinding:
      1. Geben Sie für eine neue Zeile im Feld "Name" den folgenden Text ein:
      2. GROUP_CUSTOMER_COUNT 
        
      3. Verwenden Sie den Standarddatentyp "Alle".
      4. Geben Sie bei "Ausdruck" den folgenden Aggregatausdruck ein:
      5. "Customers: " + Total.count() 
        
        Die Funktion "Total.count( )" gibt die Anzahl der Zeilen zurück.
      6. Verwenden Sie bei "Kumulieren für" den Standardwert "credit_group". Dieser Wert gibt an, dass die Funktion "Total.count( )" die Anzahl der Zeilen in jeder Kreditrahmengruppe zurückgibt.
      7. Wählen Sie das soeben erstellte Spaltenbinding aus, und wählen Sie dann "OK" aus. Das Datenelement verwendet nun das ausgewählte Spaltenbinding.
    3. Rufen Sie eine Vorschau des Berichts auf. Der Bericht zeigt am Ende jeder Gruppe die Anzahl der Kunden an (siehe Abbildung 8-10).
    4. Abbildung 8-10: Berichtsvorschau mit Anzahl für jede Gruppe
  3. Wählen Sie die Option "Layout" aus, um zum Layouteditor zurückzukehren.
  4. Zeigen Sie die Anzahl aller Kunden an:
    1. Wählen Sie die Tabelle aus.
    2. Über und links von der Tabelle werden nun Führungszellen angezeigt.
    3. Klicken Sie mit der rechten Maustaste auf die Führungszelle links neben der ersten Zeile (Tabelle - Header), und wählen Sie dann die Optionen "Einfügen > Zeile > Oben" aus.
    4. Über der Zeile, in der die Spaltenüberschriften angezeigt werden, wird nun eine neue Zeile für die Tabellenüberschrift angezeigt. Sie wird in Farbe angezeigt, weil sie die Eigenschaften der nachfolgenden Zeile übernommen hat.
    5. Wählen Sie die neue Zeile aus, und ändern Sie im Eigenschafteneditor ihre Hintergrundfarbe in Weiß.
    6. Ziehen Sie ein Datenelement aus der Palette, und übergeben Sie es in der ersten Zelle der neuen Zeile für die Tabellenüberschrift. Elemente, die sich in der Tabellenüberschrift befinden, werden am Beginn des Abschnitts angezeigt.
    7. Erstellen Sie in der Anzeige "Datenbinding auswählen" ein neues Spaltenbinding:
      1. Geben Sie für eine neue Zeile im Feld "Name" den folgenden Text ein:
      2. TOTAL_CUSTOMER_COUNT 
        
      3. Verwenden Sie den Standarddatentyp "Alle".
      4. Geben Sie bei "Ausdruck" den folgenden Aggregatausdruck ein:
      5. "Number of customers: " + Total.count() 
        
      6. Verwenden Sie bei "Kumulieren für" den Standardwert "ALLE". Dieser Wert gibt an, dass die Funktion "Total.count( )" die Anzahl der Zeilen in der gesamten Tabelle zurückgibt.
      7. Wählen Sie das soeben erstellte Spaltenbinding aus, und wählen Sie dann "OK" aus. Das Datenelement verwendet nun das ausgewählte Spaltenbinding.
    Der Berichtsentwurf sollte nun wie in Abbildung 8-11 gezeigt aussehen.

    Abbildung 8-11: Berichtsentwurf mit Gesamtanzahl für Kunden
  5. Rufen Sie eine Vorschau des Berichts auf. Der Bericht zeigt am Anfang der Tabelle die Anzahl der Kunden an (siehe Abbildung 8-12).
  6. Abbildung 8-12: Berichtsvorschau mit Gesamtanzahl der Kunden

Task 8: Bericht formatieren

Nachdem im Bericht nun die richtigen Daten angezeigt werden, können Sie sich auf die Optimierung der Berichtsdarstellung konzentrieren. In diesem Abschnitt führen Sie die folgenden Tasks aus:

Daten für Kreditrahmen aus Detailzeilen entfernen

Um zu prüfen, ob die Daten jeweils in der richtigen Kreditrahmengruppe angezeigt werden, ist es hilfreich, wenn der Kreditrahmen für jeden Kunden angezeigt wird. Nachdem Sie die Daten nun überprüft haben, können Sie die Informationen zum individuellen Kreditrahmen aus dem Bericht löschen.

  1. Wählen Sie die Option "Layout" aus, um zum Layouteditor zurückzukehren.
  2. Löschen Sie das Datenelement [CREDITLIMIT] aus der Detailzeile.
  3. Rufen Sie eine Vorschau des Berichts auf. Der Bericht sollte nun wie in Abbildung 8-13 gezeigt aussehen.
  4. Abbildung 8-13: Berichtsvorschau ohne Kreditrahmendaten für jede Zeile

Gruppenüberschriften in der ersten Zeile jeder Gruppe anzeigen

Die Gruppenüberschriften für den Kreditrahmen werden über den Detailzeilen der Gruppe jeweils in einer eigenen Zeile angezeigt. In dieser Prozedur versetzen Sie die Gruppenüberschriften, damit sie in der ersten Detailzeile angezeigt werden.

  1. Wählen Sie die Option "Layout" aus, um zum Layouteditor zurückzukehren.
  2. Wählen Sie die Zelle aus, die die Gruppenüberschriften enthält (siehe Abbildung 8-14). Achten Sie darauf, die Zelle und nicht das Datenelement in der Zelle auszuwählen.
  3. Abbildung 8-14: Ausgewählte Zelle mit Gruppenüberschriften
  4. Wählen Sie im Eigenschafteneditor auf der Seite "Allgemein" die Option für das Versetzen in die Detailzeile aus. Im Berichtsentwurf wird die Gruppenüberschrift weiterhin über der Detailzeile angezeigt, weil sich das Element in technischer Hinsicht noch immer in der Zeile für den Gruppenheader befindet.
  5. Wählen Sie im Eigenschafteneditor auf der Seite "Auffüllen" für die Option "Auffüllen - Oben" einen Wert von 12 Punkten aus. Diese Einstellung richtet die Gruppenüberschriften präziser an den Daten der Detailzeilen aus. Sie erinnern sich, dass Sie im ersten Lernprogramm über den Zellen der Detailzeilen eine Auffüllung von 12 Punkten hinzugefügt haben.
  6. Rufen Sie eine Vorschau des Berichts auf. Die Gruppenüberschriften werden nun in der ersten Zeile der jeweiligen Gruppe angezeigt (siehe Abbildung 8-15).
  7. Abbildung 8-15: Berichtsvorschau mit versetzten Gruppenüberschriften

Einzelne Gruppen durch eine Linie trennen

Wenn Sie die einzelnen Gruppen durch Linien voneinander trennen, sind die Datengruppen leichter zu erkennen.

  1. Wählen Sie die Option "Layout" aus, um zum Layouteditor zurückzukehren.
  2. Wählen Sie alle Zellen in der Gruppenfußzeile aus. Halten Sie hierzu die Umschalttaste beim Klicken gedrückt.
  3. Wählen Sie im Eigenschafteneditor die Seite "Umrahmung" aus, und legen Sie dann die Eigenschaften für den Rahmen fest:
    • Legen Sie für die Darstellung eine durchgezogene Linie fest.
    • Wählen Sie die Schaltfläche aus, auf der die untere Begrenzung angezeigt ist.
  4. Fügen Sie weiteren Platz zwischen der Zeile und dem darüber stehenden Text hinzu. Wählen Sie (während die Zellen weiterhin ausgewählt sind) im Eigenschafteneditor die Seite "Auffüllen" aus, und legen Sie bei "Unten" einen Wert von 6 Punkten fest.
  5. Rufen Sie eine Vorschau des Berichts auf. Am Ende jeder Gruppe wird eine Linie angezeigt (siehe Abbildung 8-16).
  6. Abbildung 8-16: Berichtsvorschau mit Linien zwischen Gruppen

Task 9: Bericht in BIRT-Berichtsanzeigefunktion anzeigen

Bislang haben Sie die Berichtsausgabe im Vorschaufenster der BIRT-Berichtentwicklungsfunktion geprüft. Jetzt werden Sie das Aussehen des Berichts nach seiner Implementierung in der Berichtsanzeigefunktion anzeigen. Die Berichtsanzeigefunktion bietet die Möglichkeit, über ein Inhaltsverzeichnis zu bestimmten Abschnitten in einem Bericht zu navigieren. Wenn Sie Gruppen in einem Bericht erstellen, generiert BIRT automatisch unter Verwendung der Gruppenwerte ein Inhaltsverzeichnis, um die Hierarchie des Berichtes darzustellen.

  1. Wählen Sie im Web-Viewer die Optionen "Datei > Bericht anzeigen" aus.
  2. Der Bericht wird jetzt in der Berichtsanzeigefunktion angezeigt.

  3. Wählen Sie die Schaltfläche für das Inhaltsverzeichnis (die linke Schaltfläche oben im Fenster) aus, um das Inhaltsverzeichnis anzuzeigen.
  4. Im Inhaltsverzeichnis ist der erste Wert aus jeder der vier Kreditrahmengruppen angegeben. Wenn Sie einen Wert auswählen, zeigt der Bericht den entsprechenden Abschnitt des Berichts an. Wählen Sie beispielsweise den Wert "61100" aus, zeigt der Bericht die Kundenzeilen im Kreditrahmenbereich "50000 - 99999" an (siehe Abbildung 8-17).

    Abbildung 8-17: Wert im Inhaltsverzeichnis zum Anzeigen der entsprechenden Daten auswählen

Task 10: Kreditrahmenbereiche im Inhaltsverzeichnis anzeigen

Ein Inhaltsverzeichnis ist sinnvoller, wenn anstelle des ersten Wertes in jeder Kreditrahmengruppe dieselben Kreditrahmenbereiche wie im Bericht angezeigt werden. Dies erreichen Sie, indem Sie denselben JavaScript-Ausdruck verwenden, mit dem Sie bereits die Kreditrahmenbereiche (0 - 49999, 50000 - 99999 usw.) im Gruppenheader angezeigt haben.

  1. Kehren Sie zur BIRT-Berichtentwicklungsfunktion zurück.
  2. Wählen Sie im Layouteditor die Tabelle aus, und wählen Sie dann im Eigenschafteneditor die Registerkarte "Gruppen" aus.
  3. Doppelklicken Sie in der Liste der Gruppen auf den Eintrag "credit_group".
  4. Im Fenster "Gruppe bearbeiten" werden die Eigenschaften der Gruppe angezeigt. Bei "Ausdruck für TOC-Element" ist standardmäßig das Gruppierungsfeld angegeben, nämlich "row["CREDITLIMIT"]".
  5. Wählen Sie die Schaltfläche mit den Auslassungspunkten (...) aus, und ersetzen Sie im Erstellungsprogramm für Ausdrücke den Ausdruck "row["CREDITLIMIT"]" durch den nachfolgenden Ausdruck. Hierbei handelt es sich um denselben Ausdruck für das Spaltenbinding, der vom Datenelement im Gruppenheader verwendet wird. Statt den Ausdruck erneut einzugeben, können Sie ihn aus dem Datenelement kopieren und hier einfügen.
  6. for(i=50000; i<300000; i+=50000){ 
    if( row["CREDITLIMIT"] < i ){ 
      rangeStart = i-50000; 
      rangeEnd = i-1; 
      break; 
    } 
    } 
    displayString=rangeStart + " - " + rangeEnd; 
    
  7. Wählen Sie "OK" aus.
  8. Rufen Sie in der Berichtsanzeigefunktion eine Vorschau des Berichts auf, um die Änderungen im Inhaltsverzeichnis zu prüfen.
  9. Das Inhaltsverzeichnis gibt nun die Kreditrahmenbereiche an (siehe Abbildung 8-18).

    Abbildung 8-18: Aktualisiertes Inhaltsverzeichnis


(c) Copyright Actuate Corporation 2006

Vorheriges ThemaNächstes Thema