Schnellere Verarbeitung mit invertierten Datensätzen
In einem aktuellen Projekt entwickeln wir momentan eine Web-Anwendung, die eine Live-Tabellierung bereitstellt. Hier wird die interessierte Öffentlichkeit auf die Ergebnisse einer Studie zugreifen und sich ausgewählte Inhalte individuell zusammenklicken können. Die besondere Anforderung dieser Anwendung ist — neben der Gestaltung der Bedienoberfläche — die Beschaffenheit der Daten: eine hohe Fallzahl (insgesamt wurden über eine Million Datenzeilen erhoben), für deren Auswertung eine vergleichsweise geringe Variablenzahl herangezogen wird.
Die Verarbeitung eines solch umfangreichen Datensatzes kann unter Umständen in der Tabellierung einige Sekunden oder gar Minuten in Anspruch nehmen. Für eine jederzeit abrufbare Ad-hoc Tabellierung sind verlängerte Wartezeiten jedoch nicht akzeptabel — die einzelnen Auswertungen sollen spontan und flexibel angefordert und betrachtet werden können. Diesem Umstand wurde in GESStabs mit der Entwicklung eines neuen, proprietären Dateiformats Abhilfe geschaffen.
Unsere Tabellierungssoftware GESStabs kann nun invertierte Datensätze schreiben und lesen. Anders als in üblichen Datensatzformaten sind die Daten hier nicht fallweise sortiert, sondern variablenweise in Blöcken angeordnet. Werden nur wenige Variablen benötigt, ermöglicht diese Speicherform ein sehr effizientes Verarbeiten des Datensatzes.
Analog zur Verarbeitung anderer Datensatz-Formate werden invertierte Datensätze in GESStabs mit den Schlüsselwörtern
INVERTOUT
und
INVERTIN
herausgeschrieben und eingelesen. Bei der Generierung erhält der invertierte Datensatz die Endung ‘inv’ und kann frei benannt werden. Der erstellte Datensatz kann zudem komprimiert (
ZIPINVERTOUT
) und auf ausgewählte Variablen beschränkt (
INVERTOUTVARS
) werden sowie Fallgewichte einbeziehen (
INVERTFILEWEIGHTOUT
). Da invertierte Datensätze ausschließlich numerische Werte enthalten, müssen die Variablenbeschreibungen (Variablentitel, ‑texte und Labeltexte) in einer gesonderten Textdatei mitgeführt werden. Hierfür steht in GESStabs das altbekannte
SYNTAX
-Statement zur Verfügung. Die mithilfe dessen erzeugte Textdatei wird anschließend via
INCLUDE
eingelesen und verarbeitet.
Hier finden Sie eine genaue Anleitung zur Handhabung invertierter Datensätze in GESStabs:
Aus der Praxis — für die Praxis!