Veröffentlicht am :
Makro CREATION_INTERNE

Makro AHGwords - Generierung von Listen durch Substitution

Dieser Code ist auch verfügbar auf: English Español Français
Das Makro `AHGwords` nimmt ein Wortmuster (`word`) und einen Iterator (`n`). Wenn das Muster das Zeichen ' @code_sas©/16.4'.sas© nicht enthält, wird es am Ende hinzugefügt. Das Makro erkennt, ob `n` ein Skalar (über das externe Makro `%AHGcount`) oder eine Liste ist. Ist es ein Skalar, generiert es eine Zahlenfolge basierend auf der definierten `base`. Ist es eine Liste, iteriert es über jedes Element von `n`, um die Substitution durchzuführen. Das Ergebnis wird direkt in den Codestrom eingefügt (Texterzeugung).
Datenanalyse

Type : CREATION_INTERNE


Die Verarbeitung ist rein makro-textuell und manipuliert keine SAS-Tabellen.

1 Codeblock
MACRO
Erklärung :
Definition des Makros. Es bereitet das Wortmuster vor, bestimmt den Iterationstyp (numerisch oder Liste) durch Aufruf von `%AHGcount` und führt dann eine `%do`-Schleife aus, um die modifizierten Zeichenketten über `tranwrd` zu generieren.
Kopiert!
1%macro AHGwords(word,n,base=1);
2%local AHG4I;
3%IF not %index(&word, @) %THEN %let word=&word @;
4%IF %AHGcount(&n)=1 %THEN
5 %DO AHG4I=%eval(&base) %to %eval(&n+&base-1);
6 %sysfunc(tranwrd(&word, @,&AHG4i))
7 %END;
8%ELSE
9 %DO AHG4i=1 %to %AHGcount(&n) ;
10 %sysfunc(tranwrd(&word, @,%scan(&n,&AHG4i)))
11 %END;
12 
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.