Daten
optimal
nutzen

aktuelle Datenbankauswertung
einfach - schnell - aussagekräftig

Beschreibung des universellen Reportprogrammes

Das Reportprogramm besteht aus zwei Programmteilen, dem Abfrageprogramm, welches die gewünschten Ergebnisse in einer Liste zusammenstellt und dem Druckprogramm, welches diese Daten entsprechend der benötigten Form aufbereitet. Der Vorteil des Programms besteht somit nicht nur in den universellen Abfrage- und Druckmöglichkeiten die dem Anwender zur Verfügung gestellt werden, sondern auch darin, daß sowohl die Abfragen als auch die Druckseite nur einmal erstellt werden müssen. Durch die Wiederverwendung einmal erstellter Abfragen bzw. Druckseiten sind Sie in der Lage, sogar komplexe  Auswertungen zu automatisieren.

Einsatz des Reportprogrammes

Das Reportprogramm versteht sich als ein zusätzliches Werkzeug, welches auf den bereits in der Firma vorhanden und genutzten Programmen aufsetzt und diese sinnvoll ergänzt. Es ist ein universell einsetzbares Tool, welches für zusätzliche Auswertungen und Datenbankabfragen eingesetzt wird, welche nicht durch die bereits vorhandene Software abgedeckt werden. Die in der Firma bereits vorhanden Tabellen können für Abfragen nach beliebigen Feldern verwendet werden. Die Ergebnisse werden anschließend sofort in der gewünschten Form dargestellt, entweder auf dem Papier oder als Bildschirmpräsentation. Die Komponenten werden anschließend einmalig für den Druck angeordnet. Diese Anordnung wird in der Reportdatei gespeichert. Für die Darstellung einer neuen Ergebnistabelle wird die erstellte Reportdatei aufgerufen und mit den neuen Daten gefüllt. Damit eignet sich das Reportprogramm hervorragend für periodisch wiederkehrende Auswertungen, wie Wochenstatistiken, Umsatzstatistiken usw. Diese Auswertungen erfolgen dann wirklich auf den schon vielfach gewünschten Knopfdruck. Neben der enormen Zeiteinsparung haben Sie außerdem den Vorteil, daß die Listen immer in der gleichen guten Qualität vorliegen und daß sich außerdem keine Übertragungsfehler einschleichen können, da sich die Auswertung immer auf Ihre aktuellen Tabellen bezieht. Die Arbeit des Auswertens oder der Berichterstellung wird mit Hilfe des Reportprogrammes automatisiert.

Auch die den Auswertungen zugrunde liegenden Datenabfragen, welche in einer Maske gespeichert sind, können ständig wieder aufgerufen und auch verändert werden. Der Anwender ist damit überhaupt nicht mehr an starre Programmstrukturen gebunden, sondern er kann alle vorhanden Datenfelder, welche in den betrieblichen Tabellen vorhanden sind, für seine Auswertungen nutzen. Die Tabellen, und damit auch die Datenfelder können beliebig kombiniert werden.
Die Funktionsweise des Reportprogramms soll an Hand eines Beispieles näher erläutert werden. Wir gehen von einer Firma aus, in welcher zur Zeit nur fünf verschiedene Tabellen, hier im dBase Format (*.dbf) existieren. Die Datenstruktur wird im folgenden kurz vorgestellt.

Tabellenstruktur

Tabelle Kunden

enthält die Adresse, Telefonnummer, Mailverbindung der Kunden Tabellenstruktur_Kunden
Schlüsselfeld ist  KNR

Tabelle Lieferanten

enthält die Adresse, Telefonnummer, Mailverbindung der Lieferanten
Tabellenstruktur_Lieferanten
Schlüsselfeld ist  KNR

Tabelle Auftrag

enthält Auftragsnummer, Auftragsdatum, Terminstellung
Tabellenstruktur_Auftrag
Schlüsselfeld ist  KNR, ANR

Tabelle Aufpos

- enthält alle zu einer Auftragsnummer gehörigen Auftragspositionen, bzw. Artikel und deren Bestellmenge
Tabellenstruktur_Aufpos
Schlüsselfeld ist  ARTNR, ANR

Tabelle Artikel

enthält die Bezeichnung, Einkaufs- und Verkaufspreis eines Artikels
Tabellenstruktur_Artikel
Schlüsselfeld ist  ARTNR, LNR
Beziehungen zwischen den Tabellen
Im folgenden Bild sind die Tabellenbeziehungen dargestellt. Zur besseren Veranschaulichung wurden nur die Datenfelder angegeben, welche als Schlüsselfelder dienen. Diese Felder werden in den folgenden Masken als Verbindungsfeld zwischen den Tabellen benötigt.
Tabellenbeziehungen

Datenabfragen

Die einfachste Form der Datenabfrage ist die Auswertung nur einer Tabelle. Um die Abfrage zu formulieren, werden verschiedene Eingabemasken zur Verfügung gestellt. Hier die Maske für die Abfrage nur einer Tabelle.

Aufgabe: Es sollen alle Kunden gesucht werden, die in Mainz wohnen.

Es wird die Tabelle Kunden ausgewertet. Der Wohnort "Mainz" ist im Feld Ort gespeichert. Suchfeld ist Ort, Feldinhalt ist Mainz. Als Operator wird das Gleichheitszeichen gewählt. Im nächsten Feld werden alle Feldnamen der Tabelle aufgelistet, welche in unserer Ergebnisliste als Spalten erscheinen sollen. Durch Klick in das Feld erscheint ein neues Fenster, welches alle Feldnamen der Tabelle enthält. Die Auswahl wird durch Markierung vorgenommen.
Auch für die Auswahl des Suchfeldes (hier Ort) erscheint diese Feldliste. Ebenso für die Festlegung der Sortierreihenfolge. (im Beispiel Firma)
Nach Betätigung des Buttons [Suchen] erscheint die folgende Ergebnisliste.

Erg_Kunden_Mainz

Alle Masken können gespeichert und somit auch wieder aufgerufen und verändert werden. Das hat bei diesem kleinen Beispiel zwar noch wenig Sinn, ist allerdings sehr praktisch bei größeren Auswertungen mit mehreren Tabellen.
Im Beispiel ändern wir den zu suchenden Ort auf "Dessau".

Wir erhalten dann folgende Ergebnisliste.

Ergebnis_Kunden_Dessau

Diese wollen wir für den Druck etwas besser und übersichtlicher aufbereiten. Das praktische an diesem Programm ist dabei, daß die Druckseitengestaltung ebenfalls nur einmal auszuführen ist. Für alle folgenden Ausdrucke, auch bei veränderter Maske für die Datenabfrage, wird nur die erstellte Reportdatei aufgerufen und unsere Daten sind an der gewünschten Stelle plaziert. Hier ein Beispiel der Druckseite. Sie sehen dabei, daß die Reihenfolge der Daten bei der Darstellung beliebig geändert werden kann. Ebenso können Sie festlegen, daß mache Daten, im Beispiel Ort und PLZ nur einmal gedruckt werden.

Liste_Kunden_Mainz

Die Entwurfsansicht für die Druckseite sieht wie folgt aus.

Entwurfsansicht

Sie sehen hier sowohl Text- als auch Datenbankfelder. In der Überschrift ist Ort und PLZ ebenfalls ein Datenbankfeld. Außerdem wurden Systemdaten mit in die Liste eingefügt. Das heißt, wenn der Report erneut geladen wird, z.B. um die Kunden aus Dessau auszudrucken, muß an der Reportliste überhaupt keine Änderung vorgenommen werden. Auch das Datum, die Seitennummer und der Bearbeiter werden automatisch bei der Übernahme der abgefragten Daten eingesetzt.

Druck_Kunden_Dessau

Datenabfrage mehrerer Tabellen

Für diese Abfrage wird eine andere "Eingabemaske" verwendet. Die Arbeitsweise ist analog zu der oben bereits beschriebenen. Das heißt, wenn Sie auf eines der Eingabefelder klicken, öffnet sich jeweils ein neues Fenster, welches die zur Verfügung stehenden Feldinhalte für dieses Editfeld anzeigt. Durch Markierung wählen Sie die gewünscheten Datenfelder aus. Die Reihenfolge der Feldnamen in dem zusätzlich aufgehendem Fenster wird durch Reihenfolge der gewählten Tabellen bestimmt.

Aufgabe: Auflisten aller bestellten Artikel und der Gesamtpreise pro Artikel, sortiert nach Kunden - inclusive der Kundenadressen. Der Liefertermin soll im Mai liegen.

Zunächst müssen die Tabellen ausgewählt werden. In unserem Beispiel benötigen wir vier Tabellen. In der Tabelle Kunden ist die Adresse des Kunden gespeichert, in der Tabelle Auftrag steht der Liefertermin, in der Tabelle Aufpos finden wir die bestellte Anzahl der Artikel und in der Tabelle Artikel steht die Artikelbezeichnung und der Preis.
Entsprechend der ausgewählten Tabellen muß bestimmt werden, durch welche Schlüsselfelder die Tabellen miteinander verbunden werden können. Dieses Feld muß in beiden Tabellen vorhanden sein, da über dieses Feld die Verknüpfung der Tabellen erfolgt.
Als Bedingung wurde hier eingetragen, daß der Liefertermin, welcher in der Tabelle Auftrag steht, größer als der 30.04.2005 sein soll. Die Sortierung erfolgt nach Liefertermin.

Das Ergebnis erscheint nach Betätigung des Buttens [Suchen]. Es bringt uns als Anwender jedoch noch keinen großen Nutzen. Wir ändern deshalb unsere Eingabemaske. Nun soll der Gesamtpreis anzeigt werden. Dieser ist aber leider in keiner Tabelle gespeichert. Es ist aber trotzdem kein Problem. Das Formular bietet auch die Möglichkeit, ein zusätzliches Feld an unsere Ergebnisliste anzuhängen, welches aus bereits vorhandenen Datenfeldern berechnet wird. In diesem Fall wollen wir berechnen, wieviel der Kunde für einen Artikel bezahlt hat. Wir benötigen also die bestellte Anzahl der Artikel, gespeichert in der Tabelle Aufpos und dem Einkaufspreis des Artikels, welcher in der Tabelle Artikel steht. Die Feldbezeichnung, das heißt die Spaltenüberschrift kann beliebig gewählt werden. Wir geben hier "Gesamtpreis" ein. Die Berechnung erfolgt durch Multiplikation von Anzahl mal Preis.

Das Ergebnis sehen Sie ausschnittsweise hier.
Erg_incl_gesPreis

Nützlicher wäre es, wenn zusätzlich noch der Gesamtpreis pro Kunde ausgerechnet würde. Außerdem wäre die Ausgabe übersichtlicher, wenn für jeden Kunden eine extra Seite ausgegeben wird. Die Maske wird deshalb nochmals aufgerufen und verändert. Es sollen jetzt nur die Aufträge angezeigt werden, die der Kunde mit der Kundennummer 9 erteilt hat. Damit auch jetzt nur die Sätze gedruckt werden, bei denen der Liefertermin im Mai liegt, wird als Bereichsabfrage das Datenfeld Termin ausgewählt. Als untere Grenze wird der 01.05.2005 und als obere Grenze der 31.05.2005 eingetragen. Die Bereichsabfrage stellt ein zusätzliche Bedingung dar.


Erg_Umsatz_nach_KNR_incl_gespreis


Für eine übersichtlichere Datenausgabe haben wir folgende Seite angelegt. Diese Seite kann nun immer wieder verwendet werden, egal für welchen Kunden die Abfrage erfolgt. Die Kundennummer und die Anschrift des Kunden werden genauso aktualisiert, wie die eigentlichen Aufträge der Kunden in der Tabelle.

Das Druckprogramm arbeitet mit verschiedenen Objekten, welche in der rechten Spalte der folgenden Grafik aufgelistet sind.

Menü_Druckprogramm


Bei der einmaligen Gestaltung der Seite, legen Sie fest, an welcher Stelle die Datenfelder stehen sollen. Der Gesamtumsatz pro Kunde stellt die Summe der Spalte Gesamtpreis dar. Diese Summe wird bei der Übergabe der Ergebnisliste an das Druckprogramm berechnet und steht nun als Datenvariable zur Verfügung.
Die rote Linie am unteren Seitenrand stellt die Begrenzung für den Druck der Datenfelder pro Seite dar. Darunter befinden sich noch die Datumsangabe, Seitennummer und die Summe der Spalte Gesamtpreis.

Druck_Aufträge_Mai_nach_KNR


Diese Liste ist sehr praktisch. Sie gibt den Gesamtumsatz eines Kunden, aufgelistet nach allen Artikeln an.
Durch Wiederaufruf der Eingabemaske (Doppelklick auf die Datei) kann z.B. die Kundennummer von "9" auf  "2" geändert werden. Damit sind jetzt alle Bestellungen des Kunden mit der Kundennummer 2 in der Ergebnisliste enthalten. Die soeben erstellte Reportdatei wird mit der neuen Ergebnisliste gefüllt. Unsere Auswertung ist damit fertig.

Statistische Auswertungen

Aufgabe: Es soll angezeigt werden, wieviele Artikel von jedem Kunden bestellt wurden. Dabei soll auch die maximale Bestellmenge eines Artikels durch einen Kunden und die durchschnittliche Bestellmenge eines Kunden pro Artikel ermittelt werden. Außerdem soll der Gesamtumsatz pro Kunde errechnet werden.

Für die Lösung dieser Aufgabenstellung werden auch wieder vier Tabellen benötigt. Neu ist das Eingabefeld "Gruppe bilden".  Diese Eingabe ist erforderlich, wenn Berechnungen durchgeführt werden sollen, welche sich auf mehrere Datensätze beziehen. In diesem Fall sollen die Anzahl der bestellten Artikel und der Gesamtumsatz pro Kunde ermittelt werden. Das Gruppenfeld muß also Kunde sein. Hier haben wir die Auswahl zwischen Kundennummer und Firmennamen. Wir haben uns für den Firmennamen entschieden, um den Anwendern die gedankliche Zuordnung des Namens zu der Kundennummer zu ersparen.

Für die Berechnung der Gesamtsumme wird, wie oben schon beschrieben, ein neues Feld an unsere Ergebnisliste angehängt, welches das Produkt aus Anzahl mal Preis beinhaltet. Im unteren Teil wird das Datenfeld ausgewählt, für welches Summe, Minimum, Maximum, Durchschnitt oder Anzahl der Datensätze ermittelt werden soll. In diesem Beispiel ist es jeweils die bestellte Anzahl. Die Summe über die Anzahl aller bestellten Artikel ist nicht sinnvoll und wurde deshalb weggelassen.

Tabelle Gruppenauswertung

Der Gesamtumsatz wird bei Übergabe der abgebildeten Ergebnisliste an das Druckprogramm errechnet und steht dort als anzeigbare Variable zur Verfügung.
Als Spaltenüberschrift legen wir natürlich für den Nutzer leichter verständliche Namen fest, als das System uns standardmäßig ausgibt.
Das Ergebnis sieht dann wie folgt aus.


Report Gruppenauswertung

Dieses Ergebnis können Sie auch als Grafik darstellen. Wir bieten Ihnen dabei die Möglichkeit, zwischen verschiedenen grafischen Darstellungen zu wählen. Die Titelüberschrift und die Beschriftung der Achsen können Sie selbst bestimmen. Sie legen ebenfalls fest, welche Tabellenspalte Ihre Grafik darstellen soll. Im Beispiel haben wir die Anzahl der bestellten Artikel betrachtet.
Zur besseren Veranschaulichung, haben wir sowohl ein Säulen-, als auch ein Kreisdiagramm erstellt.

Diagramm Gruppenauswertung

Kriesdiagramm

Komplexe Auswertungen

Sicher werden Sie an ganz andere Auswertungen denken, die in der Praxis auch bedeutend umfangreicher sind, als hier gezeigt. Aber auch größere Auswertungen, bei denen die Abfrage mehrere Bedingungen berücksichtigen muß, sind mit Hilfe der Masken darstellbar.
Außerdem bietet das Programm die Möglichkeit, umfangreiche Abfragen außerhalb des Programmes zu formulieren und in einer Datei zu speichern. Die Datei kann dann vom Reportprogramm geladen und ausgeführt werden. Die Ergebnisliste wird auf die gleiche Art und Weise an den zweiten Programmteil, den Druck weitergeleitet.
Gern sind wir Ihnen behilflich, auch solche Abfragedateien zu erstellen. Nach der einmaligen Erstellung dieser Abfragedateien, können diese ebenso wie alle mit Hilfe der Masken generierten Abfragen, ständig wieder aufgeufen werden. Sie bieten damit eine zusätzliche Möglichkeit, um auch sehr komplexe Auswertungen zu automatisieren, um Ihnen einen sehr schnellen Zugriff zu den aktuellen Daten zu gewährleisten.