Modul Berichtsassistent Nutzungshandbuch

Berichtsassistent mit Exportfunktionen

200px

Hinweis: Das SuperX-Modul RPTA umfasst einen Berichtsassistenten mit Exportfunktionen.

Allgemeine Nutzung

Der Berichtsassistent bietet die Möglichkeit, durch Auswahl der Spalten, die Ergebnisse zu Studierenden sehr flexibel selbst zu gestalten.

Berichtsassistent
 

Wenn keine Felder ausgewählt werden, ist das Ergebnis:

Ergebnistabelle  MKW
 

Dieses Layout wurde speziell für den Vergleich mit der amtlichen Statistik erstellt. Bisher gibt es Layouts zu folgenden Themen

Berichtsassistent:  Layouts
 

Dazu finden Sie auch die folgenden 2 Lehrfilme:

Der Begriff Berichtsassistent wird in SuperX auch noch synonym für den Exportassistenten verwendet.

Mit diesem Berichts(Export-)assistenten werden ansprechend formatierte text- oder tabellenorientierte Layouts erzeugt.

Aufruf

Rufen Sie zunächst eine Maske auf und zeigen Sie die Ergebnistabelle an, z.B. Studierende nach Alter:

Aufruf-Icon
 

Wählen Sie dann den in der obigen Abbildung rot umrandeten "Zauberstab".

Der "Zauberstab" ist nur in der Rolle "Administrator" sichtbar.

Mit Klick auf den "Zauberstab" erhalten Sie

Export-Assistent
 

Die Exportmaske bietet drei Menüpunkte an:

Mit dem Abschicken des Formulars erhalten Sie bei Formaten außer HTML einen Download-Dialog, und z.B. eine Datei wie folgt:

Export-Datei
 

Bei großen, d.h. breiten Tabellen, sollten Sie A3 Quer als Seitenformat wählen, sonst wirkt das Layout ggf. etwas "gedrungen". In Excel können Sie es ggf. weiter für den Druck skalieren.

Excel-Export

Sobald das RPTA-Modul installiert ist, werden der Excel- und der pdf-Export-Button zu Shortcuts.

Buttonbar
 

Mit Klick auf den in der obigen Abbildung rot umrandeten "xls-Exportbutton" erhalten Sie z.B. folgendes Auswahlfenster, in dem Sie wählen können:

Excel-Export-Dialog
 

Weiterverarbeitung mit JasperReports

Wenn Sie den JRXML-Quellcode herunterladen, koennen Sie das Berichtslayout mit JasperSoft Studio weiter verfeinern. Details siehe im JasperReports-Handbuch.

Virtuelle Tabellen, Spalten und Spaltenlayouts verwalten

Im Berichtswesen gibt es oft die Notwendigkeit, häufig wiederkehrende Abfragen in speziellen Spaltenlayouts zu speichern. Früher bot SuperX nur die Möglichkeit

In dem Modul können Sie auf der Basis des SuperX-Datenmodells

Siehe auch:

Beispiel eines Spaltenlayouts im Bereich Studierende

In der Auslieferung gibt es eine Beispielanwendung, die Studierendenauswertungen flexibel für Landes- oder interne Zwecke ausgeben kann. Das Ziel ist z.B. die beigefügte Tabelle fürs Ministerium in NRW:

Muster  MKW  NRW
 

Die Datengrundlage ist eine Tabelle mit Studierendendaten. Diese wird im folgenden beschrieben.

Virtuelle Tabelle Studierende amtlich und intern

Nach Login mit einer Admin-Kennung haben Sie Zugriff auf das Menü Abfragen - Berichtsassistent - Administration Berichtsassistent, dort die Maske Spalten und Spaltenlayouts verwalten. Dort unter "Weitere Einstellungen" finden Sie die Verwaltung der virtuellen Tabellen.

Liste
 

Die virtuelle Tabelle "Studierende amtlich und intern" beinhaltet

Hintergründe zu den amtlichen Schlüsseln erfahren Sie in diesem Lehrfilm:

Das Detailformular zeigt die Quelltabellen und Felder:

Liste
 

Dieses Beispiel sollten Sie nicht ändern, es dient nur als Beispiel in der Auslieferung.

Weitere virtuelle Tabellen

Neben der Studierenden-Tabelle sind folgende virtuellen Tabellen vorbereitet:

Für jede Tabelle gibt es mindestens ein Beispiel-Spaltenlayout.

Spalten verwalten

Nach Login mit einer Admin-Kennung haben Sie Zugriff auf das Menü Abfragen - Berichtsassistent - Administration Berichtsassistent, dort die Maske Spalten und Spaltenlayouts verwalten:

Maske
 

Im Ergebnis finden Sie die definierten Spalten:

Tabelle
 

Sie können die Definition der Spalten abrufen, hier das Beispiel des Standortes (amtlich):

Einzelbearbeitung
 

Spaltentypen und ihre Funktion

Es gibt folgende Spaltentypen:

Die folgende Abbildung zeigt den Zusammenhang:

Spalten-Logik:  Teil  1
 

Schritt 1: Basisdaten

Im ersten Schritt wird eine temporäre Tabelle (tmp_table_1) mit allen Spalten des Spaltenlayouts erstellt, sowohl später sichtbare als auch unsichtbare Spalten. Dabei werden entweder

Schritt 2: Aggregation

Im zweiten Schritt werden die Daten aus der in Schritt 1 erstellten tmp_table_1 in eine weitere temporäre Tabelle (tmp_table_2) überführt und dabei aggregiert. Welche Spalten aggregiert werden wird über das Merkmal Aggregierte Spalte festgelegt. Dabei wird entweder

Bei der Summierung wird der angegebene Feldname (Ziel) in eine sum()-Funktion eingefügt. Bei einer Funktion wird die Eingabe im Feld Funktion genutzt.

Schritt 3: Selektion

Im dritten Schritt findet die finale Selektion statt. Jede Spalte für die das Merkmal Sichtbare Spalte auf 1 gesetzt ist, wird selektiert. Wenn man bei der Selektion noch eine Berechnung oder Änhliches vornehmen möchte, wird das Merkmal auf 0 gesetzt und eine Berechnete Spalte eingesetzt. Es wird dann die Funktion der Berechneten Spalte in den select geschrieben.

Spaltenlayouts mit Sichten

Das u.G: Beispiel ist Teil der Auslieferung in dem Spaltenlayout "Internationale Studierende (Baum)".

Um ein Spaltenlayout als Sicht-Tabelle umzusetzen, sind in der resultierenden Ergebnistabelle drei Spalten notwendig:

  1. Eine Spalte "ebene"
  2. Eine Spalte "sortnr"
  3. Eine Spalte mit dem Schlüssel des jew. Sichtelements

Die Befüllung der Tabelle wird von RPTA automatisch besorgt. Zur Konfiguration müssen von Ihnen folgende Maßnahmen getroffen werden:

Hier ein funktionierendes Beispiel:

Spalten-Layout  mit  Sicht  resp.  Hierarchiebaum
 

Und hier das Spaltenlayout:

Spalten-Layout
 

Beispiele

Beispiel 1: Durchschnittsnote bei mehr als 4 Teilnehmern

Es soll die Durchschnittsnote berechnet und ausgegeben werden, sofern mehr als 4 Personen an der Prüfung teilgenommen haben.

Dafür werden 3 Spalten angelegt:

  1. Vorbereitende Spalte --> Note selektieren und Filtern
  2. Weiterverarbeitende Spalte --> Durchschnitt berechnen
  3. Berechnete Spalte --> Falls mindestens 5 Teilnehmer, dann selektieren

Spalten-Logik:  Teil  2
 

Die Vorbereitende Spalte beinhaltet eine case-when-Bedingung, damit bspw. unbekannte Noten (note=8) rausgefiltert werden. Der Feldname (Quelle) kann leer bleiben. Der Feldname (Ziel) muss gefüllt werden. Bei der Weiterverarbeitenden Spalte wird als Feldname (Quelle) der Feldname (Ziel) der Vorbereitenden Spalte eingetragen. Das Merkmal Aggregierte Spalte wird auf 1 gesetzt und die gewünscht Funktion eingetragen. Es folgt die Berechnete Spalte, welche als Feldname (Quelle) den Feldname (Ziel) der Weiterverarbeitenden Spalte bekommt. Die Funktion sorgt dafür, dass der Notenschnitt nur dann ausgegeben wird, wenn mindestens 5 Prüfungen vorhanden sind. Es wird das Merkmal Sichtbare Spalte auf 1 gesetzt, damit die Ausgabe in der Ergebnistabelle erfolgt.

Spalten-Logik:  Teil  3
 

Beispiel 2: Zur Prüfung nicht erschienene Studierende zählen

Es soll anhand des Prüfungsvermerkes ermittel werden, wie viele Studierende nicht zur Prüfung erschienen sind.

Dafür wird eine logische Spalte angelegt:

Spalten-Logik:  Teil  4
 

Spaltenlayouts verwalten

Ausgehend vom obigen Beispiel-Muster benötigen wir eine Tabelle mit Studierendensummen mit einem Filter auf

Die Tabelle enthält folgende Spalten:

Die Benennung der Spalten sollte exakt mit dem Muster übereinstimmen.

Zunächst die Tabellendefinition: Filter wie Stichtag, Hörerstatus und Status können wir wie gewohnt in der Maske als Felder anbieten, und die Filter

definieren wir direkt im Spaltenlayout. Wir gehen dazu in das Menü Abfragen - Berichtsassistent - Administration Berichtsassistent, dort die Maske Spalten und Spaltenlayouts verwalten. Dort unter "Weitere Einstellungen" finden Sie die Verwaltung der Spaltenlayouts:

Spalten-Layout:  Beispiel  1
 

Das Feld "Bedingung (optional)" definiert die Filter auf der virtuellen Tabelle. Da manche Hochschulen Studiengänge ohne Regelstudienzeit mit einem sehr hohen Wert versehen (z.B. 99), wird ein Filter auf eine "übliche" Regelstudienzeit zwischen 1 und 20 Semestern gesetzt.

Im Beschreibungsfeld darunter wird eine textuelle Beschreibung im Sinne einer Legende angeboten. Diese wird in der späteren Berichtsausgabe dann unter der Legende erscheinen.

Die eigentlichen Spalten werden in dem Unterformular angezeigt, mit Klick auf die jew. Details können Sie die Bezeichnung der Spalte und Layoutmerkmale angeben, sowie einen Erläuterungstext:

Spalten-Layout:  Beispiel  2
 

Den fertigen Bericht können Sie hier abrufen: In der Maske definieren Sie die Ergebnismenge

Spalten-Layout:  Beispiel  3
 

und die Tabelle gibt die Studierendensummen exakt im Layout des Musters aus:

Spalten-Layout:  Beispiel  4
 

Die Sortierung erfolgt in der Reihenfolge der Spalten jeweils aufsteigend.

Spaltenlayouts kopieren

Folgende Maske dient dazu:

Spaltenlayout  kopieren
 

Durch Auswahl der Basistabelle kann die Anzeige der angebotenen Spaltenlayouts eingeschränkt werden.Dann wird ein neuer eindeutiger Schlüssel und Name vergeben, ebenso kann eine passende Erläuterung eingefügt werden. Ansonsten wird die Erläuterung des kopierten Layouts beibehalten.

Durch die Sicherheitsabfrage "Vorh. Layout überschreiben" wird verhindert, dass man aus Versehen ein Layout überschreibt.

In der Ergebnistabelle

Ergebnistabelle  mit  Bearbeitungsaufruf
 

kann durch den Stift eine Bearbeitungsseite aufgerufen werden. Hier können - wie bereits unter spaltenlayout verwalten erklärt - alle Felder geändert und Spalten gelöscht werden. Man muss da natürlich bei berechneten Spalten darauf achten, diese bei Löschungen anzupassen!

Bearbeitungsdialog  Spaltenlayout
 

Spaltenlayout löschen

Spaltenlayout  löschen
 

Auch hier kann durch eine Angabe der Basistabelle die Anzeige der Spaltenlayouts eingeschränkt werden. Man muss aktiv ein J auswählen, damit ein versehentliches Löschen verhindert wird.

Troubleshooting

ERROR: column specified more than once

Wenn 'srcfieldname' oder 'targetfieldname' falsch oder nicht gesetzt sind, kann es passieren, dass bestimmte Spalten bzw. Spaltenbezeichnung mehrfach vorkommen. Das führt zum Fehler.

Beispiel 1: processingColumn ohne targetfieldname

Es gibt eine preparingColumn, welche geschlecht=weiblich markieren soll (case when geschlecht=2 then 1 else 0 end). Es wird "targetfieldname":"geschl_w" gesetzt.

In einer processingColumn soll anschließend gezählt werden. Es wird "srcfieldname":"geschl_w" gesetzt. Das ist richtig. Aber falls vergessen wird einen targetfieldname zu setzten, dann wird automatisch srcfieldname=targetfieldname. Daraus resultiert der genannte Fehler.

Lösung: Für die processingColumn wird ein targetfieldname gesetzt, welcher sich vom srcfieldname unterscheidet.

ERROR: column does not exist

Beispiel 1: processingColumn mit unvollständiger Aggregatfunktion

Eine processingColumn soll summieren. Es wird "col_function":"sum" gesetzt. Das wirft den genannten Fehler aus (ERROR: column "sum" does not exist), weil sum dann als Spalte gesucht wird (sum as bewerbungen_w).

Lösung: Für die Aggregatfunktion der colfunction wird der srcfieldname angegeben, bspw. "col_function":"sum(geschl_w)".