2016-04-20 23 views
0

Ich habe ein Dataset mit mehreren Datenzeilen für eine bestimmte Person, aber nur die erste Zeile der Person enthält ihren Namen. Für den Rest der Zeilen der Daten dieser Person fehlt das Namensfeld. Ich denke, ich kann die retain-Anweisung verwenden, um den Namen zu füllen, aber nichts, was ich versuche, funktioniert. HierWie verwende ich die retain-Anweisung in SAS, um fehlende Daten zu füllen?

ist ein Beispiel für die Datensatzstruktur mit denen ich arbeite:

data test; 
    input id $ value ; 
    datalines; 
    Bob 100 
    . 200 
    . 300 
    Jim 475 
    . 250 
    . 300 
    ; 
    run; 

Antwort

1

Ich denke, das Problem ist, dass technisch id nicht in diesen Zeilen fehlt, es . gleich, obwohl, wenn Datenleitungen mit input Lesen Anweisung erhalten Sie leer id. Versuchen Sie folgendes:

data test; 
    input id $ value; 

    /*store not empty ID in different retained variable*/ 
    retain current_id; 
    if not missing(id) then current_id=id; 
    else id=current_id; 

datalines; 
Bob 100 
. 200 
. 300 
Jim 475 
. 250 
. 300 
; 
run; 
+0

, die funktionierte. Vielen Dank! – Bosley