Hierarchische Gruppierung von Daten

Sie können Daten in einem Bericht gruppieren, um die hierarchischen Beziehungen anzuzeigen. Wenn Sie Daten hierarchisch gruppieren, sortiert Crystal Reports Informationen anhand der Beziehung zwischen zwei Feldern. Den für den Bericht verwendeten Daten muss eine hierarchische Beziehung zugrunde liegen:

  • Übergeordnete und untergeordnete Felder müssen über denselben Datentyp verfügen, damit das Programm eine Beziehung zwischen den Feldern erkennt.
  • Die Daten im übergeordneten Feld müssen eine Teilmenge der Daten im untergeordneten Feld darstellen.
  • Damit die oberste Ebene einer Hierarchie in einem Bericht angezeigt wird, muss der Wert in den untergeordneten Daten enthalten und die entsprechende Zeile in den übergeordneten Daten leer sein.
  • Den Daten darf keine zirkuläre Logik zugrunde liegen (d. h., A darf sich nicht auf B beziehen, während sich B auf C und C wiederum auf A bezieht).

Wenn Sie beispielsweise die hierarchische Struktur einer Abteilung anzeigen möchten, könnten Sie dazu die Gruppendaten nach Angestelltenkennung gruppieren und mit Hilfe des Datenfeldes mit der Angabe des Vorgesetzten, dem ein Angestellter Bericht erstatten muss, die Hierarchie bestimmen.

So gruppieren Sie Daten nach Hierarchie

  1. Klicken Sie mit der rechten Maustaste in den eingebetteten Crystal Report Designer, zeigen Sie auf Einfügen, und klicken Sie auf Gruppe.

  2. Wählen Sie im Dialogfeld "Gruppe einfügen" das Feld, das die Basis Ihrer Hierarchie (untergeordnetes Feld) bilden soll.

Wenn Sie beispielsweise die hierarchische Struktur der Angestellten einer Firma anzeigen möchten, wählen Sie das Datenfeld mit der Angestelltenkennung aus.
  1. Wählen Sie In aufsteigender Reihenfolge.
Standardmäßig wird im Gruppenkopf des Berichts der Wert des Feldes angezeigt, nach dem gruppiert wird.
  1. Klicken Sie auf die Registerkarte Optionen, und aktivieren Sie das Kontrollkästchen Gruppennamenfeld anpassen, wenn im Gruppenkopf ein anderer Wert angezeigt werden soll.
Falls Sie beispielsweise nach dem Mitarbeiterfeld gruppiert haben, wird bei jedem Wechsel der Gruppe der entsprechende Mitarbeitername angezeigt. Wenn Sie einen anderen Wert (z. B. den Mitarbeiternamen anstelle der Mitarbeiter-ID) anzeigen möchten, passen Sie das Gruppennamenfeld an, indem Sie ein anderes Datenfeld auswählen oder eine Formel erstellen.
  1. Klicken Sie auf OK.
Die von Ihnen erstellte Gruppe wird zum Bericht hinzugefügt.
  1. Klicken Sie im eingebetteten Crystal Report Designer mit der rechten Maustaste auf eine beliebige Stelle, zeigen Sie auf Bericht, und klicken Sie auf Hierarchische Gruppierungsoptionen.

  2. Wählen Sie im Dialogfeld "Hierarchische Gruppierungsoptionen" in der Liste Verfügbare Gruppen die Gruppe aus, die hierarchisch angeordnet werden soll.

  3. Aktivieren Sie das Kontrollkästchen Daten hierarchisch sortieren.

  4. Wählen Sie in der Liste Feld für übergeordnete ID das Feld aus, nach dem das Instanz-ID-Feld organisiert werden soll.

Wenn Sie beispielsweise einen Bericht über die Mitarbeiterhierarchie erstellen möchten, können Sie das Datenfeld mit dem Vorgesetzten auswählen, dem der Mitarbeiter unterstellt ist.

<table>
<colgroup>
<col style="width: 100%" />
</colgroup>
<thead>
<tr class="header">
<th><img src="images\xkh1wxd8.alert_note(de-de,VS.90).gif" alt="Note" class="note" />Anmerkung</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><p>Das Instanz-ID-Feld und das Feld für die übergeordnete ID müssen denselben Datentyp haben. Wenn das Instanz-ID-Feld beispielsweise Zeichenfolgendaten enthält, muss das Feld für die übergeordnete ID ebenfalls Zeichenfolgendaten enthalten.</p></td>
</tr>
</tbody>
</table>
  1. Geben Sie im Feld Gruppeneinrückung den Wert ein, um den jede Untergruppe eingerückt werden soll.
<table>
<colgroup>
<col style="width: 100%" />
</colgroup>
<thead>
<tr class="header">
<th><img src="images\xkh1wxd8.alert_note(de-de,VS.90).gif" alt="Note" class="note" />Anmerkung</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><p>Der in das Feld &quot;Gruppeneinrückung&quot; eingegebene Wert wirkt sich auf alle anderen Objekte im selben Bereich wie die hierarchische Gruppe aus. Wenn Ihr Bericht beispielsweise ein Gehaltsfeld enthält, das sich in derselben Zeile wie der Name des Mitarbeiters befindet, wird das Gehaltsfeld auch eingerückt, wenn Sie eine hierarchische Gruppe anhand des Mitarbeiterfeldes erstellen.</p></td>
</tr>
</tbody>
</table>
  1. Klicken Sie auf OK.
Die Berichtdaten sind nun hierarchisch gruppiert.

<table>
<colgroup>
<col style="width: 100%" />
</colgroup>
<thead>
<tr class="header">
<th><img src="images\xkh1wxd8.alert_note(de-de,VS.90).gif" alt="Note" class="note" />Anmerkung</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><p>Auf welcher Ebene der Name in der Hierarchie dieses Berichts angezeigt wird, hängt von der Anzahl der Angestellten ab, die der Person unterstellt sind. Die Angestellten, denen kein Mitarbeiter unterstellt ist, befinden sich auf der untersten Ebene der Hierarchie.</p></td>
</tr>
</tbody>
</table>