Tabellen in Spalten

Sie können Detaildaten einer Untertabelle in einer Spalte ausgeben. Wenn Sie z. B. alle Bestellungen eines Kunden rechts neben dem Kundennamen ausgeben möchten, erstellen Sie eine Spalte vom Typ "Tabelle" und geben dann die Detaildaten aus.

Wenn Sie die Tabelle auswählen, können Sie die Eigenschaften des Tabellenobjekts bearbeiten. Ein Doppelklick bringt Sie zum üblichen Tabelleninhalt-Dialog.

An diese Tabelle können Sie über die Aktion "Untertabelle anhängen" zudem weitere Tabelle anhängen, z. B. die Summe der jeweiligen Bestellpositionen.

Abbildung 5.21: (Unter-)Tabellen in Spalten ausgeben

Bitte beachten:

1.  Wenn in der übergeordneten Tabelle (Elterntabelle) mehrere Zeilendefinitionen definiert werden, muss die Option "Zeilen zusammenhalten" auf "False" gesetzt werden, da bei Untertabellen keine Vorberechnung der Höhe möglich ist und somit nach jeder Datenzeile ein Seitenumbruch ausgelöst wird.

2.  Wenn Sie Zähler mit Summenvariablen verwenden, müssen Sie bei der Definition der Summenvariablen den jeweiligen Tabellennamen (z. B. 'Haupttabelle') angeben, da ansonsten auch die Datensätze der "Untertabelle" mitgezählt werden. Beispiel: Cond(LL.CurrentContainerItem = "Haupttabelle",1,0)

3.  Tabellen in Spalten werden in Datenzeilen, Gruppenköpfen und Kopfzeilen unterstützt. Bei Kopfzeilen werden dabei nur statische Inhalte unterstützt.

Gehen Sie zur Definition folgendermaßen vor:

1.  Erstellen Sie im Berichtscontainer ein neues Element und wählen Sie als Objekttyp "Tabelle".

2.  Im folgenden Dialog wählen Sie nun die Datenquelle aus. Für eine Umsatzauswertung je Kunde wählen Sie z. B. die Tabelle "Customers". Als Feld wählen Sie z. B. "Customer.CompanyName".

3.  In diese Datenzeile fügen Sie nun eine weitere Spalte hinzu und geben dabei die Daten einer 1:N-verknüpften Tabelle aus. Wählen Sie über das Kontextmenü "Neue Spalte in Tabellenzeile einfügen/anhängen" (Alt+Einfg).

 Alternativ können Sie auch eine bestehende Spaltendefinition selektieren und dann auf den kleinen Pfeil nach unten neben dieser Schaltfläche klicken um den Typ der Spalte zu bestimmen.

4.  Wählen Sie als Spaltentyp "Tabelle" und dann z. B. die Spalte "Orders.OrderID". Die Datenzeile wird zwar nicht ausgegeben (da wir sie unterdrücken), aber es wird ein Feld benötigt, damit die Tabelle überhaupt gedruckt wird.

5.  Zurück im Tabellendialog selektieren Sie die Tabelle "Orders" und setzen die Tabellen-Eigenschaft "Datenzeilen > Datenzeilen unterdrücken" auf "Ja".

Abbildung 5.22: Datenzeilen unterdrücken bei einer Tabellenspalte

6.  Wählen Sie nun über das Kontextmenü "Untertabelle anhängen".

 Alternativ können Sie auch die Tabelle selektieren und dann auf den kleinen Pfeil nach unten neben dieser Schaltfläche klicken um eine Untertabelle anzuhängen.

7.  Wählen Sie als Datenquelle die Tabelle "Order Details"  und dann erneut die Spalte "Orders.OrderID". Die Datenzeile wird zwar auch nicht ausgegeben (da wir sie unterdrücken), aber es wird ein Feld benötigt, damit die Tabelle überhaupt gedruckt wird.

8.  Als Fußzeile definieren Sie die Summe der Bestellpositionen, d. h. in der 1. Spalte  das Bestelldatum (Orders.OrderDate) und in der 2. Spalte summieren Sie den Umsatz. Diesen berechnen Sie z. B. über die Formel "Sum(Order_Details.Quantity * Order_Details.UnitPrice)". Diese beiden Spalten werden dann neben dem Namen des Kunden ausgegeben, da die Ausgabe der Datenzeilen jeweils unterdrückt wird.

Abbildung 5.23: Aggregation in der Fußzeile

9.  Zurück im Tabellendialog selektieren Sie die Tabelle "Order Details" und setzen auch hier die Tabellen-Eigenschaft "Datenzeilen > Datenzeilen unterdrücken" auf "Ja".

10. Die Auswertung ist fertig, d. h. Sie sehen neben dem Kundennamen die Bestellungen und daneben die Summe der Bestellpositionen (siehe Abbildung 5.21).