Dieser Artikel erklärt Ihnen, wie Sie eine leere (null) Makrovariable von einer Makrovariable, die einen Punkt enthält, unterscheiden und wie Sie diese Tests korrekt durchführen.
Es ist entscheidend, die Art Ihrer Variable zu verstehen:
Leere Makrovariable (Null): Sie enthält keine Zeichen.
Beispiel: %let maVar = ;
Makrovariable, die einen Punkt enthält: Sie enthält das Zeichen „.“. Für den Makroprozessor ist dies eine Zeichenkette der Länge 1, kein fehlender Wert.
Beispiel: %let maVar = .;
Wenn Sie %if &maVar = . testen, prüfen Sie buchstäblich, ob die Variable das Zeichen „Punkt“ enthält, und nicht, ob sie leer ist.
Methode 1: Verwendung der Funktion %LENGTH (Empfohlen)
Die robusteste Methode, um zu überprüfen, ob eine Makrovariable „leer“ oder „null“ ist, besteht darin, ihre Länge zu testen.
Um zu überprüfen, ob eine Variable leer ist:
%if %length(&maVar) = 0 %then %do;
%put Die Variable ist leer.;
%end;
1
%IF %LENGTH(&maVar) = 0 %THEN %DO;
2
3
%put Die Variable ist leer.;
4
5
%END;
6
Um zu überprüfen, ob eine Variable einen Wert enthält (nicht leer):
Ein Punkt (.) ist ein Zeichen, kein fehlender Wert im Sinne von Makros.
Verwenden Sie %if %length(&var) = 0, um auf einen Nullwert (leer) zu testen.
Um das Thema fehlender und logischer Werte in Makros zu vertiefen, sind die Arbeiten von Chung und King zu diesem Thema solide technische Referenzen.
Avertissement important
Les codes et exemples fournis sur WeAreCAS.eu sont à but pédagogique. Il est impératif de ne pas les copier-coller aveuglément sur vos environnements de production. La meilleure approche consiste à comprendre la logique avant de l'appliquer. Nous vous recommandons vivement de tester ces scripts dans un environnement de test (Sandbox/Dev). WeAreCAS décline toute responsabilité quant aux éventuels impacts ou pertes de données sur vos systèmes.
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.