Schnellere Verarbeitung mit invertierten Datensätzen

In einem aktu­el­len Projekt ent­wi­ckeln wir momen­tan eine Web-Anwendung, die eine Live-Tabellierung bereit­stellt. Hier wird die inter­es­sier­te Öffentlichkeit auf die Ergebnisse einer Studie zugrei­fen und sich aus­ge­wähl­te Inhalte indi­vi­du­ell zusam­men­kli­cken kön­nen. Die beson­de­re Anforderung die­ser Anwendung ist — neben der Gestaltung der Bedienoberfläche — die Beschaffenheit der Daten: eine hohe Fallzahl (ins­ge­samt wur­den über eine Million Datenzeilen erho­ben), für deren Auswertung eine ver­gleichs­wei­se gerin­ge Variablenzahl her­an­ge­zo­gen wird.

Die Verarbeitung eines solch umfang­rei­chen Datensatzes kann unter Umständen in der Tabellierung eini­ge Sekunden oder gar Minuten in Anspruch neh­men. Für eine jeder­zeit abruf­ba­re Ad-hoc Tabellierung sind ver­län­ger­te Wartezeiten jedoch nicht akzep­ta­bel — die ein­zel­nen Auswertungen sol­len spon­tan und fle­xi­bel ange­for­dert und betrach­tet wer­den kön­nen. Diesem Umstand wur­de in GESStabs mit der Entwicklung eines neu­en, pro­prie­tä­ren Dateiformats Abhilfe geschaf­fen.

Unsere Tabellierungssoftware GESStabs kann nun inver­tier­te Datensätze schrei­ben und lesen. Anders als in übli­chen Datensatzformaten sind die Daten hier nicht fall­wei­se sor­tiert, son­dern varia­blen­wei­se in Blöcken ange­ord­net. Werden nur weni­ge Variablen benö­tigt, ermög­licht die­se Speicherform ein sehr effi­zi­en­tes Verarbeiten des Datensatzes.

Analog zur Verarbeitung ande­rer Datensatz-Formate wer­den inver­tier­te Datensätze in GESStabs mit den Schlüsselwörtern INVERTOUT und INVERTIN her­aus­ge­schrie­ben und ein­ge­le­sen. Bei der Generierung erhält der inver­tier­te Datensatz die Endung ‘inv’ und kann frei benannt wer­den. Der erstell­te Datensatz kann zudem kom­pri­miert (ZIPINVERTOUT) und auf aus­ge­wähl­te Variablen beschränkt (INVERTOUTVARS) wer­den sowie Fallgewichte ein­be­zie­hen (INVERTFILEWEIGHTOUT). Da inver­tier­te Datensätze aus­schließ­lich nume­ri­sche Werte ent­hal­ten, müs­sen die Variablenbeschreibungen (Variablentitel, ‑tex­te und Labeltexte) in einer geson­der­ten Textdatei mit­ge­führt wer­den. Hierfür steht in GESStabs das alt­be­kann­te SYNTAX-Statement zur Verfügung. Die mit­hil­fe des­sen erzeug­te Textdatei wird anschlie­ßend via INCLUDE ein­ge­le­sen und ver­ar­bei­tet.

Hier fin­den Sie eine genaue Anleitung zur Handhabung inver­tier­ter Datensätze in GESStabs:

Aus der Praxis — für die Praxis!