Veröffentlicht am :
Makro EXTERNE

Macro AHGvar2arr: Umwandlung einer Variablen in ein Array von Makrovariablen

Dieser Code ist auch verfügbar auf: English Español Français
Das Makro `AHGvar2arr` ermöglicht das Laden des Inhalts einer Datenspalte (`var`) aus einer Tabelle (`dsn`) in globale Makrovariablen, die mit einem Präfix (`arrPre`) und einem Index (z. B. PRE1, PRE2...) benannt sind. Es verwaltet die vorherige Bereinigung über ein externes Makro `%AHGdel`, die Initialisierung globaler Variablen bis zu einer bestimmten Dimension (`dim`) und die dynamische Zuweisung über einen Data Step und `CALL SYMPUT`. Die Gesamtzahl der Elemente wird in einer mit `_n` suffixierten Variablen gespeichert.
Datenanalyse

Type : EXTERNE


Die Datenquelle wird dynamisch durch den Makroparameter `dsn` beim Aufruf definiert.

1 Codeblock
MACRO
Erklärung :
Makrodefinition: Deklaration globaler Variablen durch Schleife, dann Ausführung eines Data Steps _NULL_, um die Quelltabelle zu lesen und die entsprechenden Makrovariablen über CALL SYMPUT zu erstellen.
Kopiert!
1%macro AHGvar2arr(dsn,var,arrPre,dim=100);
2 %AHGdel(&arrpre,like=1);
3 %global &arrPre._n;
4 %local i;
5 %DO i=1 %to &dim;
6 %global &arrPRE&i;
7 %END;
8 DATA _null_;
9 SET &dsn END=END;
10 call symput(strip("&arrpre"||%AHGputn(_n_)),strip(&var));
11 IF END THEN call symput("&arrPre._n",strip(put(_n_,best.)) );
12 RUN;
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.