Veröffentlicht am :
Makro MIXTE

Macro AHGsetvarLen: Ändern der Variablenlänge

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Dieses Makro ändert die Länge einer angegebenen Variable ('var') in einer gegebenen Tabelle ('dsn'). Es funktioniert, indem es eine leere temporäre Tabelle erstellt, die die Variable mit der neuen Länge ('len') enthält, und diese Struktur dann mit der Originaltabelle zusammenführt. Die 'Merge'-Technik ohne 'by'-Klausel (hier implizit für Attribute verwendetes 1-zu-1-Merge) ermöglicht die Erzwingung der neuen Länge. Schließlich ruft es ein externes Makro (%AHGordvar) auf, um die Reihenfolge der Spalten wiederherzustellen. Hinweis: Dieses Skript hängt von mehreren anderen nicht bereitgestellten Makros ab (%AHGblank, %AHGbasename, %AHGgettempname, %AHGvarlist, %AHGordvar).
Datenanalyse

Type : MIXTE


Das Makro operiert auf einer SAS-Tabelle, die als Parameter (&dsn) übergeben wird. Es werden keine spezifischen Daten fest geladen.

1 Codeblock
DATA STEP Data
Erklärung :
Makrodefinition. 1) Bestimmt den Ausgabenamen. 2) Ruft die Liste der aktuellen Variablen ab. 3) Erstellt eine leere Tabelle, die die neue Länge der Zielvariable erzwingt. 4) Fügt die leere Tabelle mit der Quelltabelle zusammen (die Länge der zuerst im MERGE genannten Tabelle hat Vorrang). 5) Ordnet die Variablen neu an.
Kopiert!
1%macro AHGsetvarLen(dsn,var,len,out=);
2 %IF %AHGblank(&out) %THEN %let out=%AHGbasename(&dsn);
3 %local empty varlist;
4 %AHGgettempname(empty);
5 %AHGvarlist(&dsn,Into=varlist,dlm=%str( ),global=0);
6 DATA
7 LENGTH &var &len;
8 RUN;
9 DATA &out;
10 MERGE &empty &dsn;
11 RUN;
12 %AHGordvar(&out,&varlist,keepall=0);
13%mend;
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.