SAS-Tabelle

Aus SAS-Wiki
(Weitergeleitet von Dataset)
Wechseln zu: Navigation, Suche

Die SAS-Tabelle (SAS Data Set) ist die wichtigste Art der SAS-Datendateien (SAS files) und wird meist vereinfacht Tabelle, Table oder Data Set genannt. Daneben gibt es noch andere Arten von SAS-Dateien wie Kataloge (catalogs), Views und Indexdateien.

SAS Tabelle (SAS data set)

Eine SAS-Tabelle (data set) besteht aus den enthaltenen Daten und ihren Metainformationen (descriptor information). Der Datenteil ist eine rechteckige Matrix aus n Zeilen und m Spalten. Jede Zeile bildet darin eine sogenannte Beobachtung (observation, row) bestehend aus den Ausprägungen (data values) von m verschiedenen Variablen (variables, columns). Die Metainformation (descriptor information) umfasst alle beschreibenden Informationen der Tabelle wie Dateiname, Größe, Erstellungsdatum, Anzahl der Beobachtungen und Variablen sowie Eigenschaften aller Variablen.

Die Metainformationen einer Tabelle lassen sich mit der Prozedur PROC CONTENTS anzeigen. Beispiel:

PROC CONTENTS DATA=SASHELP.CLASS;
RUN;

Die Daten einer Tabelle lassen sich mit den Prozeduren PROC PRINT oder PROC REPORT anzeigen. Beispiel:

PROC PRINT DATA=SASHELP.CLASS;
RUN;

Im SAS Explorer kann man interaktiv durch Klick mit der rechten Maustaste auf eine SAS-Tabelle ihre Daten oder ihre Metainformation anzeigen.

SAS-Tabellenname

Der Name einer SAS-Tabelle (data set name) ist innerhalb von SAS immer zweiteilig in der Form libref.data-set. Falls nur ein einteiliger Name angegeben ist, wird als libref work verwendet. Beispielsweise ist der einteilige Name 'xyz' gleichbedeutend mit 'work.xyz'. In diesem Fall wird die Tabelle in der Systembibliothek WORK nur temporär bis zum Ende der SAS-Sitzung gespeichert. Siehe SAS Bibliothekskonzept.

  • libref (SAS data library reference) bezeichnet die Bibliothek (library) und damit den Speicherort, das heißt das Verzeichnis, der Tabelle.
    libref muss ein gültiger SAS-Name mit höchstens 8 Zeichen sein. Siehe SAS Namenskonvention.
    Die libref WORK ist eine System Bibliothek und verweist auf ein temporäres Verzeichnis, das zu Beginn einer SAS-Sitzung in einem benutzerdefinierten Verzeichnis erstellt und beim normalen Beenden der SAS-Sitzung wieder gelöscht wird.
    Die libref SASHELP ist eine Read-Only Systembibliothek, die unter anderem Beispieldaten enthält.
    Die libref SASUSER ist eine benutzerspezifische Systembibliothek.
  • data-set ist der Name der Tabelle innerhalb der Bibliothek. Er muss ebensfalls der SAS Namenskonvention genügen und kann ab SAS Version 8 bis zu 32 Zeichen lang sein.

Aus der Sicht des Betriebssystems, unter dem SAS läuft, erhält die Tabelle noch eine Dateiendung. Diese hängt vom Betriebssystem und der SAS-Version (engine) ab, da mit neueren SAS-Versionen das (binäre) Speicherformat geändert wurde. Die nachfolgende Tabelle gibt eine Übersicht über die Dateiendungen (extensions) von SAS-Tabellen nach Betriebssystem und SAS-Version.

Betriebssystem SAS Version Engine Dateiendung
SAS Tabelle (data set)
Windows 6.12 V6 .sd2
Windows 8.2 V8 .sas7bdat
Windows 9.1, 9.2 V9 .sas7bdat

Ein Vorteil des SAS Bibliothekskonzepts ist, dass man innerhalb von SAS anstelle von langen Verzeichnispfaden einen kurzen Bibliotheksnamen verwenden kann und die Dateiendung nicht angeben muss. Beispielsweise kann der Name der Tabelle 'sashelp.class' unter Windows lauten 'C:\Program Files\SAS\SAS 9.1\Core\Sashelp\class.sas7bdat'.

Mit Hilfe der LIBNAME-Anweisung kann man ein Dateiverzeichnis als SAS Bibliothek definieren. Beispiel:

LIBNAME my "C:\Eigene Dateien";

Definiert die Bibliothek 'my' als Verweis auf das genannte Verzeichnis. Am Ende der SAS-Sitzung geht diese logische Verknüpfung verloren. Alle Dateien in dem verknüpften Verzeichnis bleiben jedoch erhalten.

Ab SAS Version 8 unter Windows ist auch möglich, Pfadnamen explizit anzugegen. SAS erstellt dann automatisch eine libref. Beispiel unter Windows:

DATA "C:\Eigenen Dateien\klasse";
 SET SASHELP.CLASS;
RUN;

Erstellt die Tabelle 'C:\Eigene Dateien\klasse.sas7bdat'.

Weblinks