Veröffentlicht am :
ETL MIXTE

Beispiel für Massenlade-Programme

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Das Skript beginnt mit der Zuweisung eines SAS©-Libnames (`mybulk`) zu einer externen Datenquelle (potenziell SQL Server über ODBC), wobei die Bulkload-Option aktiviert ist (`bcp=yes`). Anschließend wird eine vorhandene Tabelle (`DUBLKTAB`) in dieser Datenquelle gelöscht, um einen sauberen Zustand zu gewährleisten. Ein temporäres SAS©-Dataset (`work.DUBLKDAT`) wird im Speicher aus Literal-Daten (`datalines`) erstellt. Dieses Dataset wird dann verwendet, um die Tabelle `DUBLKTAB` in der externen Datenbank zu füllen und somit den Massenlade-Vorgang durchzuführen. Schließlich verwendet das Skript `PROC PRINT`, um den Inhalt der Tabelle `DUBLKTAB` aus der externen Datenbank anzuzeigen, wobei eine Datumsspalte für bessere Lesbarkeit formatiert wird.
Datenanalyse

Type : MIXTE


Die ursprünglichen Daten werden intern über einen DATA STEP mit `datalines` (`work.DUBLKDAT`) erstellt. Sie werden dann über ODBC in eine externe Datenbanktabelle (`mybulk.DUBLKTAB`) übertragen.

1 Codeblock
LIBNAME Statement
Erklärung :
Weist einen SAS-Libname namens `mybulk` einer externen Datenquelle zu. Die Makro-Variablen `&dbms` und `&connopt` sollten die spezifischen Verbindungsinformationen der Datenbank (wahrscheinlich ODBC) enthalten. Die Option `bcp=yes` aktiviert das Massenkopierprotokoll, das normalerweise mit SQL Server verwendet wird, um Datenübertragungen zu optimieren.
Kopiert!
1LIBNAME mybulk &dbms &connopt bcp=yes;
2 Codeblock
PROC DELETE
Erklärung :
Löscht die Tabelle `DUBLKTAB` aus der externen Datenquelle (identifiziert durch den Libname `mybulk`). Dies stellt sicher, dass jede vorherige Ausführung keine Reste hinterlässt und eine saubere Neuerstellung der Tabelle ermöglicht.
Kopiert!
1PROC DELETE DATA=mybulk.DUBLKTAB;
2RUN;
3 Codeblock
DATA STEP Data
Erklärung :
Erstellt ein temporäres SAS-Dataset namens `work.DUBLKDAT`. Die Daten werden inline mit der `cards;`-Anweisung definiert. Dieses Dataset enthält vier Variablen: `name` (Zeichen), `age` (numerisch), `sex` (Zeichen) und `bdate` (Datum im MMDDYY-Format).
Kopiert!
1DATA work.DUBLKDAT;
2 INPUT name $ age sex $ bdate mmddyy.;
3 CARDS;
4amy 3 f 030185
5bill 12 m 121277
6charlie 35 m 010253
7david 19 m 101469
8elinor 42 f 080845
9pearl 78 f 051222
10vera 96 f 101200
11frank 24 m 092663
12georgia 1 f 040687
13henry 46 m 053042
14joann 27 f 020461
15buddy 66 m 101432
16;
17RUN;
4 Codeblock
DATA STEP Data
Erklärung :
Dieser DATA STEP liest das Dataset `work.DUBLKDAT` und schreibt seine Datensätze in eine neue Datenbanktabelle namens `DUBLKTAB` unter dem Libname `mybulk`. Dies ist der Schritt, in dem das Massenladen der Daten in die externe Datenbank erfolgt.
Kopiert!
1DATA mybulk.DUBLKTAB;
2 SET work.DUBLKDAT;
3RUN;
5 Codeblock
PROC PRINT
Erklärung :
Zeigt den Inhalt der Tabelle `DUBLKTAB` aus der externen Datenbank an. Die Anweisung `format bdate date7.;` wird verwendet, um die Variable `bdate` in einem lesbaren Datumsformat (JJMMTT) anzuzeigen. Der Titel 'proc print of table' wird der Ausgabe hinzugefügt.
Kopiert!
1PROC PRINT DATA=mybulk.DUBLKTAB;
2 FORMAT bdate date7.;
3title 'proc print of table';
4RUN;
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.
Urheberrechtsinformationen : S A S S A M P L E L I B R A R Y