Das Makro verarbeitet eine als Eingabeargument bereitgestellte Zeichenkettenliste; es liest keine Daten aus externen Dateien oder SAS-Bibliotheken.
1 Codeblock
MACRO
Erklärung : Dieser Codeblock definiert das Makro `%nodup`. Es akzeptiert zwei Parameter: `list` (die Eingabezeichenkette mit durch Leerzeichen getrennten Elementen) und `casesens` (ein 'Y'/'N'-Flag zur Aktivierung/Deaktivierung der Groß-/Kleinschreibung, Standard ist 'N'). Das Makro konvertiert zuerst `casesens` in Großbuchstaben und nimmt den ersten Buchstaben. Es bestimmt die Anzahl der Elemente in der Liste (`NumItems`). Eine äußere Schleife iteriert über jedes Element (`item`) der Liste. Für jedes `item` vergleicht eine innere Schleife dieses `item` mit den nachfolgenden Elementen in der Liste. Der Vergleich wird unter Berücksichtigung der Groß-/Kleinschreibung durchgeführt (wenn `casesens` 'Y' ist, ist der Vergleich direkt; andernfalls erfolgt er nach Konvertierung in Großbuchstaben). Wenn ein Element nach der aktuellen Position kein Duplikat hat, wird es als Makroausgabe angezeigt. Die Variablen `i`, `j`, `match`, `item` und `NumItems` werden als lokal deklariert, um Interferenzen mit anderen Makros oder globalen Variablen zu vermeiden.
%IF"&item." = "%scan(&list.,&j.,%str( ))" %THEN %let match = Y ;
33
%END;
34
%ELSE %DO;
35
%IF"%upcase(&item.)" = "%upcase(%scan(&list.,&j.,%str( )))" %THEN %let match = Y ;
36
%END;
37
%END;
38
39
%IF (&match. = N) %THEN &item. ;
40
%END;
41
42
%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.
SAS und alle anderen Produkt- oder Dienstleistungsnamen von SAS Institute Inc. sind eingetragene Marken oder Marken von SAS Institute Inc. in den USA und anderen Ländern. ® zeigt die Registrierung in den USA an. WeAreCAS ist eine unabhängige Community-Site und nicht mit SAS Institute Inc. verbunden.
Diese Website verwendet technische und analytische Cookies, um Ihre Erfahrung zu verbessern.
Mehr erfahren.