Veröffentlicht am :
Macro MIXTE

AHGsplitVar Makro: Variablensplitting

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Dieses Makro iteriert über eine Liste von Zielvariablennamen (`toVars`) und verwendet die Funktion `scan`, um die entsprechenden Segmente der Quellvariablen (`inVar`) zu extrahieren, getrennt durch ein Trennzeichen (`dlm`, Standardwert ist ' @code_sas©/16.4'.sas©). Es generiert einen DATA-Schritt, um diese Transformation durchzuführen. Optional verwaltet es das Löschen der Quellvariablen und die Definition des Ausgabedatensatzes. Hinweis: Es ist von hier nicht bereitgestellten externen Hilfsmakros abhängig (`%AHGblank`, `%AHGbarename`, `%AHGcount`).
Datenanalyse

Type : MIXTE


Die Daten werden dynamisch über den Parameter `dsn` beim Makroaufruf bereitgestellt.

1 Codeblock
DATA STEP Data
Erklärung :
Definition des Makros. Zuerst wird überprüft, ob ein Ausgabetabellenname angegeben ist; andernfalls wird ein Name abgeleitet. Anschließend wird ein DATA-Schritt initialisiert, der die Eingabetabelle liest. Eine `%do`-Schleife generiert dynamisch die Zuweisungsanweisungen für jede neue Variable unter Verwendung der `scan`-Funktion. Schließlich wird die ursprüngliche Variable gelöscht, wenn der Parameter `drop` aktiv ist.
Kopiert!
1%macro AHGsplitVar(dsn,inVar,toVars,out=,dlm= @,drop=1);
2 %IF %AHGblank(&out) %THEN %let out=%AHGbarename(&dsn);
3 DATA &out;
4 SET &dsn;
5 %local i;
6 %DO i=1 %to %AHGcount(&toVars);
7 %scan(&ToVars,&i)=scan(&inVar,&i,"&dlm");
8 %END;
9 %IF &drop %THEN drop &invar;;
10 RUN;
11%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.