Zuletzt bearbeitet vor 3 Wochen
von Daniel Quathamer

Hochschuleigene Laderoutinen: Unterschied zwischen den Versionen

Markierung: 2017-Quelltext-Bearbeitung
Markierung: 2017-Quelltext-Bearbeitung
Zeile 8: Zeile 8:
*Felder:
*Felder:
** Bewerbernummer (INT)
** Bewerbernummer (INT)
** Mahtenote (FLOAT)
** Mathenote (FLOAT)
* Zusätzlich zum Hochladen noch eine "_neu"-Tabelle, die quasi als Zwischenlager dient.
* Zusätzlich zum Hochladen noch eine "_neu"-Tabelle, die quasi als Zwischenlager dient.



Version vom 24. April 2025, 07:03 Uhr

Beispielanforderung

Die Technische Universität Hamburg (TUHH) erfasst die Mathematiknoten, welche Bewerber auf ihrem bisherigen Bildungsweg erreichten. Diese Mathematiknoten sollen zukünftig in Auswertungen einbezogen werden.

Lösungsansatz

Ziel der Laderoutine

Das Ziel der Laderoutine ist das Befüllen einer neuen Tabelle mit Bewerbernummer und Mathematiknote. Diese neue Tabelle wird über das Feld 'Weitere Tabellen' im "Bewerbungen und Zulassungen Datenblatt" erreichbar sein. Ggf. ist noch ein Zeitraum anzugeben.
Tabellenstruktur:

  • Tabellenname: zul_bew_mathenote
  • Felder:
    • Bewerbernummer (INT)
    • Mathenote (FLOAT)
  • Zusätzlich zum Hochladen noch eine "_neu"-Tabelle, die quasi als Zwischenlager dient.

Implementierung der Laderoutine

Entscheidung über die Technik des Ladens

  • Shellscripte (DOQUERY, sx_upload_table.x )
  • Kettle

Unload aus dem Vorsystem

Entladen der Tabelle application_content, im Ergebnis eine CSV Datei

Laden der CSV-Datei

Hochladen mit Kettle oder Shellscript in _neu-Tabelle

Transformation in finale Tabelle

Aus der _neu-Tabelle in die finale Tabelle schreiben, ggf. noch Tranformation, z.B. von Noten-Punkten zur Note Dezimal (z.B. 11="gut")

Automatisierung

Nächtliches Laden mit Shellscript oder Kettle

Einbinden in das Bewerbungen Datenblatt

  • sx_tables: Einfügen der Tabellennamen
  • sx_fields: Einfügen der Spaltennamen inkl. Relationen (Fremdschlüssel-Beziehung von Bewerber-Mathenote zu Bewerbung Datenblatt (zul_bew_mathenote.bewnr = zul_antr_aggr.bewnr)