Behandle fehlende Werte in der where-Klausel von SAS als Null

7

Gibt es ein Äquivalent der Oracle NVL-Funktion in SAS?

Zum Beispiel, wenn ich eine where-Klausel in SAS habe, die sagt:

%Vor%

Es werden keine Zeilen mit myVar =.

eingeschlossen

Wenn ich fehlende Werte als Null behandeln möchte, muss ich sagen:

%Vor%

Ich würde gerne etwas tun können wie:

%Vor%

Gibt es so etwas in SAS?

    
Adnan 24.06.2009, 19:43
quelle

3 Antworten

13

Die Koaleszenz-Funktion sollte die Aufgabe erfüllen.

%Vor%

Ich bin mir nicht sicher, ob die Funktion in SAS 9 verfügbar ist. Wenn Sie also eine wirklich alte SAS-Version haben, funktioniert das möglicherweise nicht.

    
Ville Koskinen 25.06.2009, 04:04
quelle
7

Die Verwendung der Koaleszenzfunktion ist der richtige Weg dazu.

Aber wenn Sie eine alte Version von SAS haben, wo Coalesce nicht implementiert ist, können Sie diesen Trick verwenden:

%Vor%

Wenn Sie die Summenfunktion in SAS für verwenden Durch Hinzufügen einer nicht fehlenden Zahl in der Summierung wird das Ergebnis nicht fehlen.

Wenn Sie also 0 mit der Summenfunktion hinzufügen, wird ein fehlender Wert in 0 umgewandelt, und nicht fehlende Werte bleiben unverändert.

    
Martin Bøgelund 26.06.2009 13:37
quelle
-1

Eine Sache, die Sie tun können, ist mögen Array varlistname var1 var2 var3 varn; wenn Array & lt; & gt; dann Ausgabe;

Es werden Datensätze mit nicht fehlenden Werten ausgegeben

    
ajit 10.06.2010 15:13
quelle

Tags und Links