Gruppierter Bericht
6 Minuten Lesezeit
Rechner nach Betriebssystem gruppiert
Dieser Beispielbericht stellt alle Rechner gruppiert nach dem jeweils installierten Betriebssystem dar.
Die Rechner befinden sich in der Tabelle tHosts und das Betriebssystem in der Tabelle tDocuWindows. Bei der Beziehung zwischen tHosts und tDocuWindows kann ein Rechner mehrere Einträge in der Tabelle tDocuWindows haben, weil ein Rechner mehrere Male gescannt werden kann. Bei einem Bericht, der über Beziehungen gestaltet wird, können für jede Hauptkomponente mehrere Detailkomponenten zutreffen. In diesem Bericht wäre die Tabelle tDocuWindows die Hauptkomponente und die Tabelle tHosts die Detailkomponente, weil die Rechner den Betriebssystemen zugeordnet werden. Da es aber für jeden Rechner (Detailkomponente) mehrere Einträge in der Tabelle tDocuWindows (Hauptkomponente) geben kann, kann dieser Bericht nicht mit nativen Beziehungen aufgelöst werden. In diesem Fall wird durch ein SQL-Statement eine virtuelle Tabelle erstellt, mit deren Hilfe die physikalische Struktur umgekehrt und eine entsprechende Auflistung generiert wird.
SQL-Statement
Beim Anlegen eines neuen Berichtes werden alle vorhandenen Tabellen aus der Datenbank in den Bericht geladen. Bei diesem Bericht wird eine Tabelle benötigt, die nicht in den Meta-Tabellen vorhanden ist. Daher muss diese Tabelle über ein SQL-Statement im Berichte-Designer gebildet werden.
Zuerst muss eine neue Datenquelle hinzugefügt werden. Durch Rechtsklick im Wörterbuch oder durch Klick auf die Schaltfläche kann eine neue Datenquelle hinzugefügt werden. Als Verbindung wird die DocuSnap gewählt.
Durch diesen Dialog kann die neue Datenquelle erstellt werden. Als Name der Datenquelle ist bereits die richtige Datenbank eingetragen. Der Name der Tabelle ist frei wählbar. Es empfiehlt sich, vor den Namen der Tabelle eine kleines v für virtuell zu schreiben, um die Tabelle von den bereits vorhandenen Tabellen abzugrenzen. In diesem Bericht wird die Tabelle vOS genannt. Das Alias-Feld wird automatisch mit demselben Namen befüllt. Durch Klick auf die Schaltfläche Docusnap-Berichte-Designer-Ausführen kann das eingegebene SQL-Statement auf Fehler überprüft werden. Durch Klick auf die Schaltfläche wird ein Text-Editor für die Eingabe des SQL-Statements geöffnet. Die Daten, die das SQL-Statement ausgibt, können durch Klick auf die Schaltfläche angezeigt werden. In das Abfragetextfeld wird das SQL-Statement eingetragen. In das Feld Abfrage kann jedes beliebige SQL-Statement eingetragen werden, solange es sich auf existierende Tabellen und Spalten aus der Datenbank bezieht. Wenn das Statement fertig ist, können die Spalten durch Klick auf Alle Spalten auslesen hinzugefügt werden. Die Spalten der Tabelle werden im Feld Spalten angezeigt. Rechts davon werden die Eigenschaften der markierten Spalte angezeigt. Beim Hinzufügen der Spalten werden die Primärschlüssel als Typ int definiert. Bei den bereits vorhandenen Tabellen sind die Primärschlüssel vom Typ long. Beim Erstellen von Beziehungen müssen die Spalten denselben Datentyp haben. Daher sollten die Primärschlüssel bei neuen Tabellen auf den Typ long umgestellt werden.
Für diesen Bericht wird eine Tabelle benötigt, die die Daten aus der Tabelle tHosts und der Tabelle tDocuWindows zusammenfasst. Zwischen den Tabellen tHosts und tDocuWindows besteht keine direkte Beziehung. Die Verbindung wird über die Tabelle tDocu gebildet. Die Tabelle tDocu ist mit tHosts und tDocuWindows verbunden. Die tHosts ist mit tDocu über die HostID verbunden. Die Beziehung zwischen tDocu und tDocuWindows besteht über die DocuID.
Für diese Tabelle werden nicht alle Spalten aus den Tabellen benötigt. Daher werden nur einige ausgewählt. Für die Ausgabe werden der Rechnername (Hostname) und das Betriebssystem (OS) verwendet. Es wird empfohlen, die Primärschlüssel der Tabellen ebenfalls in die Ausgabefelder des SQL-Statements miteinzuschließen, obwohl diese im eigentlichen Bericht nicht ausgegeben werden. Zusätzlich gibt es bei der Tabelle tDocu eine Besonderheit. In diesem Bericht sollen nur die aktuellsten Daten ausgegeben werden. Für jeden Rechner kann es mehrere Inventarisierungen geben. Um nur die aktuellen Werte zu erhalten, gibt es in der Tabelle tDocu das Feld Archiv. Die Inventarisierung mit dem aktuellsten Datum bekommt beim Archiv den Eintrag 0. Durch die where - Bedingung Archiv = 0, werden nur die aktuellen Daten in die neue Tabelle geschrieben. Dieses SQL-Statement verbindet alle benötigten Tabellen:
Select tHosts.HostID, tDocu.DocuID, tHosts.Hostname, tDocuWindows.OS
from tHosts, tDocu, tDocuWindows
where tHosts.HostID = tDocu.HostID and tDocu.DocuID = tDocuWindows.DocuID and tDocu.Archiv = 0
Durch Klick auf die Schaltfläche Alle Spalten auslesen werden die Spalten, die im SQL-Statement ausgewählt wurden, hinzugefügt. Die HostID und die DocuID sind beide Primärschlüssel. Deshalb wird der Datentyp auf long geändert. Durch Klick auf die Schaltfläche OK wird der Dialog wieder geschlossen. Im Dialog Select Data muss nun unter Abfragen die erstellte Tabelle vOS ausgewählt werden. Durch Klick auf die Schaltfläche OK wird die Tabelle zum Wörterbuch hinzugefügt. Im Wörterbuch erscheint nun die Tabelle vOS.
Gruppierung erstellen
Um die Daten einer Tabelle zu gruppieren, muss ein Gruppenkopf-Band eingefügt werden. Das Gruppenkopf-Band wird über die Werkzeugleiste hinzugefügt. Beim Hinzufügen des Gruppenkopf-Bandes öffnet sich der Dialog für die Gruppen-Bedingung. In diesem Dialog wird festgelegt, welche Spalte gruppiert werden soll. In diesem Bericht wird das Betriebssystem (OS) der Tabelle vOS ausgewählt. Außerdem kann festgelegt werden, ob die Gruppe aufsteigend, absteigend oder nicht sortiert werden soll.
Wenn nach mehr als einer Spalte gruppiert werden soll, kann zum Ausdruck gewechselt werden. In dieser Option können mehrere Spalten hinzugefügt werden. Dadurch werden nur Datensätze, bei denen alle gewählten Ausdrücke gleich sind, als Gruppe ausgegeben. Durch Klick auf die Schaltfläche OK wird die Bedingung in das Gruppenkopf-Band aufgenommen.
Gruppierung Ausgabe
Durch die Wahl der Bedingung ist festgelegt, nach welchem Kriterium gruppiert wird. Allerdings ist das Gruppenkopf-Band noch leer. In diesem Bericht wird das Gruppenkopf-Band als Titel verwendet. Daher wird die Formatierung des Titels verwendet.
Dadurch wird das Kriterium, nach welchem gruppiert wird, an oberster Stelle ausgegeben.
Untergeordnetes Band
Das Untergeordnete Band ist eine Erweiterung des Bandes, nach dem es positioniert ist. In diesem Bericht wird ein Untergeordnetes Band als Erweiterung für das Gruppenkopf-Band eingesetzt. Nach dem Titel wird meist ein Header als Überschrift für das Datenband eingefügt. Nach einem Gruppenkopf-Band kann kein Datenkopf Band für die Überschriften eingesetzt werden, da die Reihenfolge der Bänder nicht richtig ausgegeben wird und die Überschriften nicht nach dem Titel und vor den Daten ausgegeben wird. Aus diesem Grund wird für die Überschriften des Datenbandes ein Untergeordnetes Band eingesetzt. Das Untergeordnete Band wird immer nach dem übergeordneten Band ausgegeben. In diesem Bericht wird das Band mit der Überschrift nach jedem Gruppenkopf-Band ausgegeben.
In ein Textfeld wird die Überschrift Rechner geschrieben und die Formatvorlage Überschrift zugewiesen.
Datenband
Damit die Daten des Gruppenkopf-Bands ausgegeben werden, muss ein Datenband mit derselben Datenquelle wie die Bedingung nach dem Gruppenkopf-Band vorhanden sein. Dieses Datenband muss keine Beziehung und auch keine Haupt-Komponente haben, um durch das Gruppenkopf-Band gruppiert zu werden. Als Datenquelle muss dieselbe Datenquelle ausgewählt werden, die auch beim Gruppenkopf-Band verwendet wird, in diesem Bericht wird die Tabelle vOS verwendet und der Hostname soll ausgegeben werden.
Im nächsten Schritt wird das Textfeld für die Ausgabe, des Datenbankinhalts erstellt. Beim Hinzufügen des Textfeldes öffnet sich der Text-Editor. Im Text-Editor können die Datenfelder entweder in der Option Ausdruck oder in der Datenspalte ausgewählt werden. In der Option Ausdruck kann das Feld durch einen Doppelklick hinzugefügt werden. In der Datenspalte wird das Feld ausgewählt. Für diesen Bericht wird die Spalte Hostname aus der Tabelle vOS gewählt. Die Formatvorlage ist Daten.
Gruppenfuß-Band
Zuletzt wird ein Gruppenfuß-Band hinzugefügt. Das Gruppenfuß-Band ist der Abschluss der Gruppierung.
Fertiger Bericht
Im Datenkopf-Band steht das Textfeld mit dem Betriebssystem. In der linken Ecke des Gruppenkopf-Bands stehen der Name und die Bedingung. Im Untergeordneten Band steht die Überschrift Systemname. Im Datenband befindet sich das Textfeld mit der Spalte Hostname. Am oberen linken Rand des Datenbandes werden der Name des Datenbandes und die Datenquelle angezeigt.