Veröffentlicht am :
Macro MIXTE

Makro get_append_base zur Strukturgenerierung

Dieser Code ist auch verfügbar auf: English Español Français
Dieses Makro verwendet PROC CONTENTS, um die Metadaten der als Parameter angegebenen Tabelle zu extrahieren. Es generiert dann dynamisch über einen DATA _NULL_-Schritt SAS©-Anweisungen (DATA-Schritt mit FORMAT-Anweisungen), die es in das Log schreibt. Dieser generierte Code kann kopiert und eingefügt werden, um eine leere Tabelle mit derselben Struktur zu initialisieren, was APPEND-Operationen (PROC APPEND) erleichtert. Es versucht auch, die temporäre Tabelle durch einen Aufruf eines externen Makros %delete_dataset zu bereinigen.
Datenanalyse

Type : MIXTE


Das Makro erwartet den Namen einer vorhandenen Tabelle als Parameter (&base_dataset). Es erstellt eine temporäre Tabelle 'local_temp' aus den Metadaten.

1 Codeblock
MACRO
Erklärung :
Definition des Makros, das Metadaten extrahiert, diese nach Variablenreihenfolge sortiert und den SAS-Code zur Formatdefinition in das Log schreibt. Hinweis: Es ruft ein Dienstmakro '%delete_dataset' auf, das in diesem Skript nicht definiert ist.
Kopiert!
1%macro get_append_base(base_dataset);
2 PROC CONTENTS noprint DATA= &base_dataset. out= local_temp; RUN;
3
4 PROC SORT DATA= local_temp; BY varnum; RUN;
5 
6 DATA _null_;
7 SET local_temp END= last;
8 BY varnum;
9 obs = _N_;
10 ;
11 IF obs = 1 THEN DO;
12 put "***************************************************************************************;";
13 put;
14 put " data stuff;";
15 put " set _null_;";
16 put " format";
17 END;
18 
19 formatted = compress(name) || ' ' || compress(cat(FORMAT,FORMATL,"."));
20 put " " formatted;
21 
22 IF last THEN DO;
23 put " ;";
24 put " run;";
25 put;
26 put "***************************************************************************************;";
27 END;
28 RUN;
29 %delete_dataset(work,local_temp);
30%mend get_append_base;
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.