Reports
Das Report Center dient dazu, Daten Ihrer mit ACMP verwalteten Rechner optisch aufzubereiten. Dies kann z.B. für Vorträge oder interne Nachweise sehr hilfreich sein. Mit dem Report Center lassen sich komplette Berichte inkl. Auflistungen und Diagrammen erstellen.
Der Aufbau des Report Center ähnelt dem der Abfrageverwaltung. Auch hier sind die schon vorhandenen Reports in Gruppen eingeteilt, wobei die Gruppe Hardware standardmäßig integriert ist. Die übrigen Gruppen sind an die entsprechende Solution gebunden und werden Ihnen nur bei gültigen Lizenzen angezeigt.
Geplante Reports
Geplante Reports helfen Ihnen dabei in regelmäßigen Zyklen Reports zu versenden. Wählen Sie zum Verwalten von geplanten Reports zunächst in der Navigation Reports aus und klicken dann auf den Reiter Geplante Reports.
Über der hierarchischen Ansicht der geplanten Reports befindet sich die Suche, mit der Sie, bei steigender Anzahl an geplanten Reports, direkt den richtigen finden können. Darunter werden Ihnen die geplanten Reports angezeigt.
Geplanten Report hinzufügen
Zum Hinzufügen klicken Sie zunächst auf einen vorhandenen Ordner oder erstellen einen neuen. Klicken Sie nun in der Ribbonleiste auf Geplanten Report hinzufügen. Es öffnet sich ein Wizard, der Sie durch die Erstellung des neuen geplanten Reports führt.
Neuen geplanten Report hinzufügen
Sofern der Zielordner nicht richtig ist, können Sie diesen korrigieren. Hierbei stehen Ihnen nur bereits vorhandenen Ordner zur Verfügung. Geben Sie einen Namen an und wählen aus, auf Grundlage welchem Reports der geplante Report erstellt werden soll. Anschließend legen Sie fest, ob der Report auch versendet werden soll, wenn dieser keine Daten liefert.
Sie legen fest, in welchem Format der Report gesendet werden soll (als HTML-E-Mail oder als PDF-Anhang) und geben an, ob der Report Job aktiviert werden soll. Wenn Ihre Angaben richtig sind, klicken Sie auf Weiter, um zum nächsten Konfigurationsschritt zu gelangen.
E-Mail konfigurieren
Auf dieser Seite konfigurieren Sie die zu versendende E-Mail. Tragen Sie zunächst einen Empfänger bzw. eine Empfängergruppe ein. Hierfür stehen Ihnen die Felder An, CC und BCC zur Verfügung. Bei allen drei Feldern können Sie auf auf Benutzer und Gruppen zugreifen, die Sie bereits in ACMP angelegt haben oder tragen manuell die richtige E-Mail-Adresse ein. Anschließend geben Sie den Betreff an. Hier wird per Default der Name des zu Grunde liegenden Reports sowie ein Zeitstempel eingetragen. Alle Werte können Sie individuell an Ihre Bedürfnisse und Anforderungen anpassen.
Abschließend schreiben Sie, sofern notwendig, den eigentlichen E-Mail-Text in das entsprechende Feld und klicken auf Weiter um die Startbedingung anzugeben. Hierbei haben Sie die folgenden Möglichkeiten:
Bestimmte Zeit | Geben Sie eine feste Uhrzeit an |
Startintervall | Geben Sie das Intervall in Minuten, Stunden oder Tagen an |
Tag der Woche | Geben Sie den bzw. die Wochentage zusammen mit einer "bestimmten Zeit" oder einem "Startintervall" an |
Tag des Monats | Geben Sie den bzw. die Tage des Monats zusammen mit einer "bestimmten Zeit" oder einem "Startintervall" an |
Geplanten Report duplizieren
Um einen geplanten Report zu duplizieren, müssen Sie sich einen bestehenden Report aus der Liste aussuchen und anklicken. Navigieren Sie danach direkt in die Ribbonleiste und klicken Sie dort auf den Button Duplizieren. Hierdurch öffnet sich ein weiteres Fenster, in dem Sie einige Informationen zum Duplikat bearbeiten können, die Sie zuvor beim Erstellen des geplanten Reports angelegt haben. So können Sie nachträglich noch allgemeine Informationen (Namen, Zielordner oder die Kategorie des Reports) ändern, ebenso wie E-Mail Informationen für den Empfängerkreis und dem E-Mail Text, die Startbedingungen und die Konfiguration für das Duplikat. Sobald Sie alle Ihre gewünschten Änderungen am Duplikat des geplanten Reports abgeschlossen haben, müssen Sie auf Speichern klicken.
Erweiterter Report
Neben bereits bestehenden Abfragen, haben Sie die Möglichkeit direkt eine neue Abfrage zu erstellen. Zudem bietet der Reportbuilder weitere grafische Aufbereitungsmöglichkeiten. So stehen Ihnen unter anderem verschiedene Diagrammtypen zur Verfügung. Das folgende Beispiel soll ein solches Szenario darstellen. Dabei wird ein neuer Report erstellt, welcher alle Clients mit deren Laufwerken inklusive Kapazitätsangabe auflistet. Die neue Abfrage wird so erstellt, dass im Report automatisch eine Unterabfrage erstellt wird. Anschließend wird ein Diagramm erstellt, um die Ergebnisse besser darstellen zu können.
Erweiterte Abfrage erstellen
Um einen neuen Report zu erstellen, markieren Sie im Report Center einen Ordner, in welchem der Bericht erstellt werden soll. Anschließend klicken Sie auf das Icon Report hinzufügen in der Schnellwahlleiste. Es öffnet sich der Dialog zur Reporterstellung. Geben Sie Laufwerke als Titel an. Die Beschreibung lautet Auflistung aller Laufwerke der Clients.
Wählen Sie in den nächsten Schritten als Abfragetyp Neue Abfrage sowie die Abfragebasis Clients. Als Abfragefelder geben Sie zusätzlich die Felder Drive Label, Drive Free Space und Drive Capacity an. Diese Felder finden Sie unter der Kategorie Operating System -> Logical Drives. Klicken Sie auf das Kästchen Sortieren neben dem Feld Computer Name um alle Clients alphabetisch auflisten zu lassen.
Als Filter wählen Sie das Feld Computer Domain in der Kategorie Client -> Workstation aus. Ziehen Sie es auf den ODER-Filter. Geben Sie als Operator IN an und markieren Sie die Option bei Ausführung angeben. Dadurch werden Sie immer vor dem Ausführen des Berichts nach der Domain gefragt, deren Clients aufgelistet werden sollen.
Da die Abfrage über mindestens zwei Datenbanktabellen läuft, muss angegeben werden, nach welchen Daten eine Sortierung stattfindet. Geben Sie hier Clients an. Die anschließenden Angaben zur Sicherheit können Sie überspringen. Der Report wird nun im Editor geöffnet. Dazu werden Sie zu einer Eingabe der Domain aufgefordert, wonach die Daten aus der Datenbank gesammelt werden, mit deren Hilfe der Report generiert wird.
Der folgende Screenshot zeigt den erstellten Report im Designer. Dabei sind zunächst die einfachen Bereiche wie Report Titel, Hauptkopf, Hauptdaten und Seitenfuß zu finden. Da zu einem Client aber mehrere Laufwerke gehören können, gibt es weiterhin die Bereiche Detailkopf, Detaildaten und Detailfuß. Wie der Name dieser Bereiche schon sagt, werden hier Details aufgelistet. In diesem Fall die Laufwerke.
Wie im Abschnitt Arbeiten mit dem Reportbuilder können auch hier Gruppenelemente gezählt und ein Seitenkopf sowie –fuß erstellt werden. Der vorhandene Seitenfuß könnte so z.B. noch um das aktuelle Datum ergänzt werden. Zusätzlich ließe sich jeder Client mit seinen Laufwerken auf einer eigenen Seite darstellen.
Diagramme
Um den ganzen Report optisch besser aufbereiten zu können, bietet sich zum Beispiel ein Diagramm an. Es soll dazu ein Diagramm erstellt werden, welches den freien Speicherplatz der einzelnen Laufwerke eines jeden Clients im Verhältnis zueinander darstellt. Dazu wird das Diagramm-Werkzeug verwendet. Klicken Sie nun in der Reportvorschau an die Stelle, wo später das Diagramm eingefügt werden soll.
Es öffnet sich der Diagramm-Editor in einem neuen Fenster. Hier konfigurieren Sie das Diagramm.
Wenn Sie bisher keine Diagrammserie erstellt haben, klicken Sie auf Serien hinzufügen ().
Der Dialog bietet die drei Tabs Art, Daten und Markierungen. Unter Art können der Diagrammtyp sowie einige Anzeigeoptionen eingestellt werden. Der Bereich Daten dient der Angabe von Report-Elementen, welche die darzustellenden Daten beinhalten. Zuletzt kann unter Markierungen angegeben werden, wie die Daten des Diagramms beschriftet werden sollen.
Wählen Sie im Tab Art das Kreisdiagramm aus. Dadurch werden die Daten im Verhältnis zueinander dargestellt. Die Optionen können so belassen werden. Im Tab Daten geben Sie nun die Report-Elemente an, welche die entsprechenden Daten enthalten. Als Legende dient die Bezeichnung der einzelnen Laufwerke. Dazu geben Sie den internen Namen des Rechteckobjektes mit der Aufschrift [vLogical Drives->Drive Label] an. In diesem Fall lautet er Memo7. Für die Angabe der Werte wird ebenso verfahren. Geben Sie hier den internen Namen des Elements mit der Aufschrift [vLogical Drives->Drive Free Space] an. Dieses Element beinhaltet die Angabe des freien Speicherplatzes eines Laufwerks und lautet hier Memo8. Alle anderen Angaben können vorerst so belassen werden. Die folgenden Screenshots zeigen die Angaben im Dialog:
Um den internen Namen eines Elements herauszufinden, markieren Sie dieses und rufen den Objekt Inspector auf. Dieser zeigt unter anderem den Namen des Elements an. Der Name wird in der oberen DropDown-Liste angezeigt.
Wichtig bei Diagrammen ist, dass für Legenden und Werte nur Daten genutzt werden können, die unmittelbar miteinander zusammen hängen. Würde in diesem Beispiel der Computer Name (Memo3) als Legende eingetragen, könnte das Diagramm nicht erstellt werden, da die Daten (der freie Speicherplatz) die einzelnen Laufwerke direkt betreffen, den Client (Computer Name) jedoch nur indirekt.
Damit das Diagramm auch ordentlich angezeigt wird, vergrößern Sie das Diagramm-Element über die Rahmenpunkte. Dazu muss ebenso der Detailfuß in der Höhe vergrößert werden. Zusätzlich werden noch weitere Anpassungen vorgenommen, um den Bericht besser wirken zu lassen:
- Der Report Titel wird nach oben hin in der Höhe vergrößert, um einen bestimmten Abstand zum oberen Rand der Seite einzuhalten.
- Es wird ein Seitenkopf eingefügt, welcher ebenfalls etwas in der Höhe vergrößert wird. Dadurch wird ein Abstand zwischen dem Report Titel und der ersten Auflistung eingehalten. Ebenso wird auf den Folgeseiten ein Abstand zum oberen Seitenrand erzeugt.
- Das Rechteckobjekt im Hauptkopf wird fett und kursiv gesetzt.
- Der Bereich Hauptdaten wird nach unten hin in der Höhe erweitert um einen Abstand zu den eigentlichen Daten zu haben. Das enthaltene Rechteckobjekt wird fett gesetzt.
- Der Detailkopf wird in der Höhe nach unten hin leicht vergrößert, sodass eine waagerechte Linie eingezogen werden kann. Dazu wird das Linie einfügen-Werkzeug genutzt.
- Zwischen den Rechteckobjekten des Detaildaten-Bereichs werden senkrechte Linien eingezogen, um eine optische Trennung der einzelnen Datensätze zu erstellen.
- Der Seitenfuß wird nach unten hin etwas in der Höhe vergrößert, um einen Abstand zum unteren Rand der Seite einzuhalten.
Wie der Report im Designer nach diesen Anpassungen aussieht, zeigt der folgende Screenshot:
Der Report könnte anschließend wie folgt aussehen:
Diagrammverwendung bei gruppierten Daten
Falls Sie in einem Report, der auf verschachtelten Datensätze aufbaut, Diagramme verwenden möchten, so müssen Sie die Daten manuell aufbereiten. Dies soll am folgenden Beispiel exemplarisch dargestellt werden.
Der Report soll eine Auflistung aller Betriebssysteme enthalten. Zu jedem Betriebssystem soll zudem eine eigene Liste mit allen Clients, auf denen das entsprechende Betriebssystem läuft, erstellt werden. Am Ende des Reports soll die Verteilung der Betriebssysteme in einem Tortendiagramm grafisch dargestellt werden. Bevor dies jedoch geschehen kann, muss die Anzahl der Clients eines Betriebssystem manuell berechnet werden.
Erstellen Sie zunächst einen neuen Report. Falls bereits die gewünschte Abfrage besteht, so kann diese ausgewählt werden. Andernfalls können Sie eine eigene Abfrage für den Report erstellen. Das hier verwendete Beispiel benötigt lediglich die Informationen "OS Name" und "Computer Name".
Fügen Sie anschließend einen Gruppenkopf und Gruppenfuß ihrem Report hinzu. Hinterlegen Sie den Betriebssystemnamen im Gruppenkopf und erstellen Sie ein entsprechendes Feld für die Anzahl der Clients im Gruppenfuß. Die dazugehörige Variable wird hinterher erstellt. Fall gewünscht, können Sie auch noch zusätzliche Informationen, wie z.B. das Datum, hinzufügen.
Erstellen von Gruppenkopf und Gruppenfuß
Für das Diagramm können Sie das Band "Reportzusammenfassung" verwenden. Dies dient nur der logischen Strukturierung und ist nicht notwendig. Fügen Sie anschließend das Diagramm ein. Achten Sie hierbei darauf, als Datenquelle "Fixe Daten" anzugeben. Bei Bedarf können Sie auch weitere optische anpassen vornehmen.
Diagramm einfügen
Wechseln Sie nun in den Code-Tab des Reporteditors. Hier müssen zunächst die benötigten Variablen definiert werden. Insgesamt werden 4 verschiedene Variablen benötigt:
- Anzahl: Enthält die Anzahl der Clients eines Betriebssystem
- Anzahl Gesamt: Enthält die Gesamtanzahl an Clients
- X_Chart: Enthält die Liste mit verschiedenen Betriebssystemen
- Y_Chart: Enthält die Liste mit der Anzahl der Clients der verschiedenen Betriebssystemen
Der benötigte Quellcode für die einzelnen Bereiche des Reports kann nun in die entsprechenden OnBeforePrint-Prozeduren der einzelnen Bänder eingefügt werden. Zunächst einmal müssen die Variablen mit Ausgangswerten belegt werden. Dies geschieht im ReportTitle bzw. im GroupHeader. Achten Sie darauf, die Variable Anzahl im GroupHeader auf den Wert 0 zu setzen. Auf diese Weise kann die korrekte Anzahl der Clients eines Betriebssystems berechnet werden. Anschließend können Sie im MasterData die Anzahl, sowie die Anzahl_Gesamt jeweils um Eins erhöhen. Im GroupFooter können nun die Daten zu einer Liste zusammengeführt werden. Die Daten werden als String gespeichert und durch ein ";" getrennt (Beispiel: "Windows 7;Windows XP;").
Abschließend können die Daten in der ReportSummary dem Diagramm zugeordnet werden.
Quellcode
//Variablen definieren
var
Anzahl : int;
Anzahl_Gesamt : int;
X_Chart,Y_Chart : String;
//Ausgangswerte festlegen
procedure ReportTitle1OnBeforePrint(Sender: TfrxComponent);
begin
Anzahl_Gesamt := 0;
X_Chart := '';
Y_Chart := '';
end;
//Zähler wieder auf 0 setzen
procedure GroupHeader1OnBeforePrint(Sender: TfrxComponent);
begin
Anzahl := 0;
end;
//Clients zählen
procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
begin
Anzahl := 1 + Anzahl;
Anzahl_Gesamt := 1 + Anzahl_Gesamt;
end;
//Zur Liste der Clients und der Menge hinzufügen
procedure GroupFooter1OnBeforePrint(Sender: TfrxComponent);
begin
X_Chart := X_Chart + Memo4.Value + ';' ;
Y_Chart := Y_Chart + IntToStr(Anzahl) + ';' ;
end;
//Daten an das Diagramm übergeben
procedure ReportSummary1OnBeforePrint(Sender: TfrxComponent);
begin
Chart2.SeriesData[0].XSource := X_Chart;
Chart2.SeriesData[0].YSource := Y_Chart;
end;
begin
end.
Beispieldiagramm: