Entwurf - Gruppen erstellen #
Gruppen kann man für verschiedene Zwecke einsetzen. Häufigstes Einsatzgebiet ist die Zwischensummenberechnung, also z.B. Aufträge nach Vertreter gruppieren und für jeden Vertreter-Bereich die Zwischensumme ausgeben. Es gibt zwei Möglichkeiten, eine Zwischensumme zu berechnen. Zum einen kann man die Gruppierung und Summenberechnung vom SQL-Server ausführen lassen, zum anderen kann man diese auch im Formular vornehmen. Jede Möglichkeit hat ihre eigenen Vorteile sowie gewisse Besonderheiten, die im folgenden erläutert werden. Dabei bezieht sich alles auf Berichte, die neu angelegt wurden. Diese verfügen über die Karteikarte „Daten“, womit sich schnell die verschiedensten Datenquellen definieren lassen. Die auf dieser Karteikarte definierbaren Datenquellen werden „eingebettete Datenquelle“ genannt.
Der Berichts-Designer verfügt über Kreuztabellen, die eine interessante Alternative zur Berechnung von Zwischensummen darstellen. Kreuztabellen enthalten keine Detailangaben, sondern bereits konsolidierte statische Zwischenergebnisse beliebig vieler Felder (Dimensionen).
Neben der Bildung von Zwischensummen kann man Gruppen auch für Layout-Zwecke verwenden, denn Gruppen haben besondere Möglichkeiten zur Seitensteuerung.
Gruppen über den SQL-Server #
Allgemeines #
Die Methode der Berechnung von Gruppen im SQL-Server eignet sich besonders dann, wenn man über die Gruppierung mittels SQL-Befehlen viele Daten erst gar nicht aus der Datenbank laden möchte, sondern nur die Summen erhalten will. Dies spart nicht nur Zeit, sondern auch Bandbreite. Besonders interessant ist dies z.B. bei Übertragung der Daten über ISDN oder auf ein mobiles PDA-Gerät, wie IPAQ von COMPAQ. Im Gegensatz dazu kann man im Formular eine Gruppierung durchführen. Hierbei werden dann zunächst alle Daten vom Server abgerufen und dann von EULANDA© im Formular aufbereitet.
Um die Gruppierung und Berechnung der Zwischensummen vom SQL-Server erledigen zu lassen, müssen alle benötigten Angaben bereits beim Erstellen der Datenquelle definiert werden, denn beim Aufruf des Formulars müssen die gewünschten Daten schon verfügbar sein. Die Zwischensummen sind damit Bestandteil der Datenquelle und können mit den Standard-Datenbankfeldern, DBText, auf der Karteikarte „Entwurf“ auf dem „Detail-Band“ positioniert werden.
Vorteile:
- Schnell
- Es werden keine unnötigen Daten generiert
- Bandbreite wird gespart
- Einfacher Aufbau im Layout
Nachteile:
- Details können nicht ausgegeben werden
- Aufwendigere Definition der Datenquelle
Gruppen über das Formular #
Allgemein #
Statistiken, die Zwischensummen über die Berichtsvorlage definieren, müssen hierzu alle Details vom Datenbankserver abrufen. Dies kann bei umfangreichen Daten sehr viel Zeit in Anspruch nehmen. Kommt es bei den Abfragen nur auf die Zwischensummen an, so empfiehlt sich der Ansatz, die Zwischensummen über den SQL-Server berechnen zu lassen.
Das Verfahren, die Zwischensummen in der Berichtsvorlage zu ermitteln, hat verschiedene vor- und Nachteile.
Vorteile:
- Detailinformationen können ausgegeben werden
- Einfache Datenquelle genügt
Nachteile:
- Langsam bei großen Datenmengen
- Es werden stets alle Daten vom SQL-Server geladen
- Benötigt höhere Netzwerkbandbreite
- Das Layout ist aufwendig
Der große Vorteil, die Zwischensummen in der Berichtsvorlage zu ermitteln, liegt darin, dass man umfangreiche Details ausgeben kann. Es wird ein Bericht erstellt, der alle Aufträge sortiert, nach Kundenmatch auflistet und für jeden Kunden eine Zwischensumme und am Ende des Ausdrucks eine Gesamtsumme ausgibt. Das folgende Beispiel zeigt diesen Ansatz:
Gruppen zur Layout-Steuerung #
Neben der Berechnung von Zwischensummen, lässt sich mit Gruppen auch das Layout beeinflussen. Im Gruppendialog, der mit Strg+G aufgerufen wird, finden sich Optionen, mit denen auf das Layout Einfluss genommen werden kann. Sie können über Gruppen Seitenumbrüche erzwingen und Nummerierungen beeinflussen. So können mit Gruppen untere Ränder oder bestimmte Ausgaben ohne Umbruch erzwungen werden – z.B. die Gesamtsumme einer Rechnung inklusive Steuer zusammenhalten – und vieles mehr.
Sinnvollerweise sollte die Datenquelle nach den gruppierten Feldern sortiert sein.
Umbruch bei … #
Bei einem Gruppenwechsel werden immer der Gruppenkopf und der Gruppenfuß gedruckt. Bei einer Gruppierung nach „Match“ würden für jeden Kunden ein Gruppenkopf und ein Gruppenfuß gedruckt, denn die Gruppe lauscht sozusagen an dem angegebenen Feld. Beispiel: Gruppe[0]:Pivot_Auftrag.Match - sobald Match sich ändert, wird die Gruppe ausgelöst und die beiden Bänder werden gedruckt.
Man kann über Gruppen an Datenfeldern „lauschen“ oder man kann dafür eigene Felder definieren, die auf Veränderung überwacht werden sollen.
Datenfeld
Die Gruppe wird ausgelöst, sobald sich der Inhalt eines Datenfeldes ändert. Im Auswahlmenü befinden sich die Datenfelder der mit dem Bericht verknüpften Datenquelle.
Benutzerdefiniertes Feld
Die Gruppe wird ausgelöst, sobald sich der Inhalt eines Benutzerfeldes ändert. Benutzerfelder sind die im Bericht positionierten Felder ohne Datenbankanbindung.
Bei Gruppenwechsel … #
Neue Seite beginnen
Beginnt bei jedem Gruppenwechsel eine neue Seite. Haben Sie also beispielsweise nach Match gruppiert, so wird für jeden neuen Kunden eine neue Seite begonnen. Dies kann zum Beispiel genutzt werden, um bei Angeboten mit Titeln nach jedem Titelwechsel eine neue Seite zu beginnen.
Seitennummerierung zurücksetzen
Setzt bei jedem Gruppenwechsel die Seitenzahl wieder auf 1. Um das Beispiel von oben aufzugreifen: Sie haben nach Kundenmatch gruppiert und beginnen für jeden Kunden eine neue Seite, dann können Sie mit dieser Option „Seitennummerierung zurücksetzten“ erreichen, dass bei jedem Kunden die Seitenzahlen von 1 bis x gehen, je nachdem, wie viele Seiten der Teil zu diesem Kunden umfasst.
Neue Seite bei weniger als …
Wenn Sie genau wissen, wie viel Platz eine Gruppe benötigt, so können Sie mit dieser Option veranlassen, dass eine neue Seite begonnen wird, wenn weniger Platz vorhanden ist, als angegeben. Damit können Sie bestimmte Bereiche zusammenhalten. Die Angabe ist standardmäßig in Millimetern.
Gruppe zusammenhalten #
Veranlasst, dass die Gruppe immer auf einer Seite zusammengehalten und nicht auf zwei Seiten verteilt wird.
Hinweis: Wenn die Gruppe nicht auf eine DIN A4 - Seite passt, wird der Rest unterdrückt.
Gruppenkopf bei nachfolgender Seite erneut drucken #
Der Gruppenkopf wird für jede Gruppe nur einmal gedruckt; er kann aber auch für eine Gruppe mehrmals gedruckt werden, wenn es einen Seitenumbruch innerhalb der Gruppe gibt. Dies kann man mit einem Häkchen aktivieren. Diese Option ist die Standardeinstellung.