Erstellen von SAS-Tabellen unter PROC SQL
Aus SAS-Wiki
Im SAS-Prozedurschritt PROC SQL gibt es drei Wege, um mit Hilfe von CREATE TABLE eine neue Tabelle zu erstellen.
CREATE TABLE
Mit der Grundform des CREATE TABLE wird eine leere Tabelle anhand explizit genannter Spaltenbeschreibungen erstellt.
LABEL und FORMAT Angaben können mit angegeben werden, sind aber optional. Labelangaben für Spalten können auch ohne LABEL gemacht werden. Die Länge einer Variable wird hinter der Typdefinition angegeben. Wird die Angabe bei Variablen weggelassen, ist die Länge 8. Bei Character-Variablen kann die Längenangabe mit oder ohne Klammern geschrieben werden, bei numerischen Variablen nur ohne Klammern. Beispiel:
PROC SQL;
CREATE TABLE projekt(
proj_id NUM 6 'Projekt' /*Labelangabe ohne LABEL*/ ,
proj_name CHAR 30 LABEL = 'Projektbezeichnung' ,
start_dat NUM LABEL = 'Anfang des Projektes' FORMAT = EURDFWDX. ,
ende_dat NUM LABEL = 'Ende des Projektes' FORMAT = EURDFWDX. ,
budget NUM LABEL = 'Gesamtes Budget' FORMAT = COMMAX15.0
);
QUIT;
CREATE TABLE … LIKE
Durch die Form mit dem ergänzenden Schlüsselwort LIKE wird eine leere Tabelle basierend auf der Struktur (Spalten und Spaltenattributen) einer bereits vorhandenen Tabelle erstellt.
Dabei entfällt gegenüber der oben genannten Grundform die genaue Definition der einzelnen Spalten. Die neu erstellte Tabelle ist eine Kopie der Basistabelle, enthält aber selbst keine Datensätze.
PROC SQL;
CREATE TABLE sql.projekt_kopie LIKE sql.projekt;
QUIT;
NOTE: Table SQL.PROJEKT_KOPIE created, with 0 rows and 5 columns.
CREATE TABLE … AS
Mit der Form mit dem ergänzenden Schlüsselwort AS wird eine Tabelle aus einer Abfrage erstellt.
Mit diesem Befehl wird eine Tabelle basiered auf der Struktur (Spalten und Spaltenattributen) und Inhalt einer bereits vorhandenen Tabelle bzw. Abfrage erstellt.
PROC SQL;
CREATE TABLE sql.projekt_kopie AS
SELECT *
FROM sql.projekt;
QUIT;
NOTE: Table SQL.PROJEKT_KOPIE created, with 6 rows and 5 columns.

