gms | German Medical Science

50. Jahrestagung der Deutschen Gesellschaft für Medizinische Informatik, Biometrie und Epidemiologie (gmds)
12. Jahrestagung der Deutschen Arbeitsgemeinschaft für Epidemiologie (dae)

Deutsche Gesellschaft für Medizinische Informatik, Biometrie und Epidemiologie
Deutsche Arbeitsgemeinschaft für Epidemiologie

12. bis 15.09.2005, Freiburg im Breisgau

Universelle SAS-Arbeitswerkzeuge zur schnellen Übersichtsgewinnung über "neue" Dateien - Data Management und Datendeskription mit SAS-Makros

Meeting Abstract

Suche in Medline nach

  • Martina Rossi - Uniklinikum Essen, Essen
  • N. Lehmann - Uniklinikum Essen, Essen
  • E. Wolters - FH Hannover, Hannover

Deutsche Gesellschaft für Medizinische Informatik, Biometrie und Epidemiologie. Deutsche Arbeitsgemeinschaft für Epidemiologie. 50. Jahrestagung der Deutschen Gesellschaft für Medizinische Informatik, Biometrie und Epidemiologie (gmds), 12. Jahrestagung der Deutschen Arbeitsgemeinschaft für Epidemiologie. Freiburg im Breisgau, 12.-15.09.2005. Düsseldorf, Köln: German Medical Science; 2005. Doc05gmds051

Die elektronische Version dieses Artikels ist vollständig und ist verfügbar unter: http://www.egms.de/de/meetings/gmds2005/05gmds314.shtml

Veröffentlicht: 8. September 2005

© 2005 Rossi et al.
Dieser Artikel ist ein Open Access-Artikel und steht unter den Creative Commons Lizenzbedingungen (http://creativecommons.org/licenses/by-nc-nd/3.0/deed.de). Er darf vervielf&aauml;ltigt, verbreitet und &oauml;ffentlich zug&aauml;nglich gemacht werden, vorausgesetzt dass Autor und Quelle genannt werden.


Gliederung

Text

Einleitung und Fragestellung

SAS bietet in seinen Prozeduren Standardausgaben für Daten an, die häufig nicht dem Informationsbedürfnis der einzelnen Anwender entsprechen.

In dem Vortrag soll ein SAS-Arbeitspaket vorgestellt werden, das aus drei SAS-Makros besteht, deren Ausgaben auf die Informationsbedürfnisse der Benutzergruppen Data Manager bzw. Biometriker zugeschnitten sind und die den Nutzern schnell eine Übersicht über bis dato unbekannte SAS-Dateien verschaffen.

Material und Methoden

Als Grundlage für die Programmierung wurden die Arbeitsprozesse „Data Management“ und „Datenauswertung“ analysiert und anhand der Analyseergebnisse Arbeitsschritte bestimmt, die sich durch die SAS-Makros automatisieren lassen. „Data Management“ wird in Rahmen dieses Vortrags als Prozess verstanden, in dem Daten aus unterschiedlichen Quellen so aufbereitet werden, dass sie nach Durchlaufen aller Bearbeitungsschritte als Auswertedatei zur Verfügung stehen. Die Auswertedatei hat das bestmögliche Niveau der Datenintegrität, die mit den zur Verfügung stehenden Arbeitskapazitäten erreichbar ist. Der Data Management-Arbeitsprozess besteht aus den Teilschritten: Datenimport, Vollständigkeitsprüfung, Plausibilitätskontrolle, Fehlerkorrektur, Generierung neuer Variablen, Dokumentation der Datentransformationen und schließlich Bereitstellung der Auswertedatei. Zum „Datenauswertungs“-Arbeitsprozess gehört die schließende und explorative statistische Datenanalyse. Die Ergebnisse der Auswertungen werden in Publikationen sowohl in Form von Berichten als auch in Form von Artikeln in Fachzeitschriften dem Auftraggeber und der Öffentlichkeit zur Verfügung gestellt. Die zweite Grundlage für die Programmierung war ein Anforderungskatalog, der von einem Experten-Team aus Data Manager und Auswertern festgelegt wurde, in dem sie ihre speziellen Informationswünsche definierten. Für den Bereich Data Management enthält er die Anforderungen: Auflistung aller für den Data Manager notwendigen Informationen über die „neue“ Datendatei, Darstellung der fehlenden Werte, Darstellung der Kodierung, univariate Plausibilitätskontrollen und die Dokumentation der Datentransformation. Die Auflistung aller für den Auswerter notwendigen Informationen über die Auswertedatei, die Erläuterung der Kodierung, das schnelle Auffinden der Datentransformation und die Basisdeskription aller in der Auswertedatei enthaltenen Variablen gehörten zu den Anforderungen der Auswerter. Als gemeinsame Anforderungen wurden definiert, dass eine Metadatei über die „neue“ Datei erzeugt wird, die neben den SAS-internen Metainformationen auch vom Makronutzer ergänzte Informationen enthalten sollte, und dass die Programmierung modular aufgebaut werden sollte, um auch die Nutzung von Teillösungen zu ermöglichen.

Ergebnisse

Die Analyse des Arbeitsprozesses „Data Management“ zeigte, dass der Schritt Datenimport bedingt durch die Vielzahl an Dateiformaten nicht automatisiert werden kann. Für die Arbeitsprozesse Vollständigkeitsprüfung und Plausibilitätskontrolle wurde das SAS Makro „dm_showme“ entwickelt. Dem Anforderungskatalog entsprechend erzeugt dieses Makro die zur „neuen“ Datei passende Metadatei, eine beschreibende Auflistung aller in der „neuen“ Datendatei enthaltenen Variablen (inkl. der Anzahl vorhandener und fehlender Werte), in der auch die Herkunft der Datendatei und das in der Datei abgebildete Erhebungsinstrument aufgelistet sind, eine Beschreibung des Formatkataloges und die Deskription des Inhalts jeder Variablen der Datendatei. In dem Makro wird die Unterscheidung zwischen den Variablenkategorien stetig, kategoriell, Datums- und Zeit- bzw. Zeichenvariablen „automatisch“ getroffen und diese Information in der Metadatei abgelegt. Anhand dieser Unterscheidung werden dann der Variablenkategorie entsprechende Deskriptionstabellen, die alle im Anforderungskatalog gewünschten Informationen enthalten, ausgegeben. Der Arbeitsprozess „Fehlerkorrektur“ beruht auf den visuellen Vergleichsergebnissen der Plausibilitätsprüfung und muss ebenso wie der Schritt „Datentransformation“ vom Data Manager manuell bearbeitet werden. Der nächste Arbeitsschritt „Dokumentation der Datentransformation“ konnte in dem SAS Makro „dok_it“ automatisiert werden. Die Automatisierung wurde realisiert durch eine Eingabemaske, die alle vom Data Manager neu erzeugten Variablen abfragt und u.a. das Eingabefeld „erzeugt im Programm:“ enthält, so dass in der Metadatei jeder neu erzeugten Variablen ein Programmname zugeordnet wird. Zusätzlich erhält der Makronutzer eine Übersicht über die Zuordnung der einzelnen Variablen in die Variablenkategorien, so dass er ggfs. Korrekturen an der autmatisierten Zuordnung vornehmen kann. Bei der Analyse des Arbeitsprozesses „Datenauswertung“ zeigte sich, dass im Gegensatz zu allen anderen Arbeitsschritten der Arbeitsschritt „Datenübersicht“ automatisierbar war. Alle Anforderungen des Auswerterkataloges wurden in das SAS-Makro „aus_showme“ eingearbeitet. Durch Aufruf dieses Makros erhält der Anwender eine Datenübersichtsliste, die für jede Variable das jeweilige Erhebungsinstrument, das Label, die Anzahl der vorhandenen und fehlenden Werte, die Erläuterung des zugeordneten Formates und die Information, ob die Variable durch Transformation erzeugt wurde, enthält. Für alle durch Transformation erzeugten Variablen wird eine Liste erzeugt, die den Programmnamen des Programms enthält, in dem die Transformation durchgeführt wurde. Ein weiteres Ergebnis des Makroaufrufs sind Basisdeskriptionen aller in der Auswertedatei enthaltenen Variablen. Auch hier bestimmt die Variablenkategorie die ausgegebene Deskriptionstabelle. Bei stetigen Variablen wird zusätzlich ein Histogramm zur Darstellung der Verteilung durch das Makro erzeugt.

Diskussion

Seit Herbst 2003 befinden sich die vorgestellten Makrowerkzeuge am IMIBE im Praxistest. Dabei hat sich gezeigt, dass die Mitglieder des Expertenteams mit dem Arbeitsergebnis zufrieden sind und die Makros in ihre alltägliche SAS-Programmierung einbeziehen. Allerdings werden die Makros von anderen IMIBE-Mitarbeitern nicht häufig genutzt. Ein Grund dafür könnte die schwere Lesbarkeit der SAS-Makrospezifischen Fehlermeldungen sein, die insbesondere SAS-Anfänger vor schier unlösbare Probleme stellen kann. Die Fehlermeldungen sind häufig das Resultat von Makroaufrufen mit SAS-Datendateien, die nicht den bei der Programmierung zugrunde gelegten Konventionen entsprechen. Hier wäre sicherlich ein Ausbau der Makros in Bezug auf eine besser verständliche Fehlerumschreibung sinnvoll. Bei der Programmierung wurde auch der Generalforderung einer modularen Umsetzung der einzelnen Punkte des Anforderungskataloges Rechnung getragen, so dass die drei vorgestellten Makros aus einem mehrstufigen System von Untermakros bestehen. Die Idee hinter dieser Forderung war, dass Einzellösungen, wie beispielsweise das Untermakros %m_aus_show, das die Datenübersichtsliste für Auswerter ausgibt, von vielen Anwendern auch für andere Zwecke genutzt werden können. Die Praxis hat jedoch gezeigt, dass für die Nutzung der Einzel(unter)makros bestimmte Bedingungen erfüllt sein müssen, so dass aus Zeitgründen i.d.R. das Gesamtmakro gestartet wird, das die entsprechenden Bedingungen erzeugt und die gewünschte Einzelliste dann aus dem Gesamtergebnis extrahiert wird. Werden die Makros jedoch entsprechend ihrer eigentlichen Nutzungsintention als Arbeitswerkzeuge zur schnellen Datenübersicht von Auswertern und Data Managern und zur univariaten Datenbeschreibung genutzt, spart der Anwender sehr viel zeitintensive Programmierarbeit.

Danksagung

Mein besonderer Dank geht an Herrn Dr. Lehmann und Herrn Prof. Wolters für die Betreuung meiner Diplomarbeit, deren Progammierergebnis die Basis für diesen Vortrag ist. Des weiteren möchte ich Frau Roggenbuck, Frau Marr, Herrn Lehmann und Herrn Benemann für die gemeinsame Erarbeitung des Anforderungskataloges und die Anwendung der Makros danken.


Literatur

1.
Lafler, KP. Output Delivery Tips, Tricks, and Techniques - Using SAS Output Delivery System (ODS) www2.sas.com/proceedings/sugi26/p058-26.pdf
2.
SAS Screen Control Language: Reference ,Version 6, First Edition SAS Institute Inc. 1990
3.
SAS Procedures Guide: Version 6, Third Editon SAS Institute Inc. 1990
4.
SAS Language: Version 6, Third Edition SAS Institute Inc. 1993
5.
Neue Features in Version 8 des SAS Systems: Kursunterlagen SAS Institute GmbH Deutschland und Guido Skipka, Ruhr-Uni Bochum
6.
Roper, Christopher A.: SQL Query Window Classes: How to Incorporate the SQL Column Expression - Builder Class in Custom SAS/AF Applications www2.sas.com/proceedings/sugi24Advtutor/p50-24.pdf