2016-04-01 7 views
-2

Ich habe eine Beobachtung zu machen, und ich brauche eine Spalte mit SAS Ich versuchte Split habe ich versucht, transponieren, aber nichts ...Ich habe eine Beobachtung und ich brauche eine Spalte mit SAS

I have: 


    num first second third 
    1  13  17  16 
    2  23  11  64 

I need: 


num var_n 
    1 13 
     17 
     16 
    2 23 
     11 
     64 

zu machen Können Sie mir einen Rat geben, bitte

+0

Ist das ein sas Datentabelle oder einen Bericht? –

+0

Ich brauche Proc-Bericht – Tanya

+0

Bitte stellen Sie die Frage nicht mehrmals. Sie haben bereits Lösungen vorgestellt, wenn sie nicht funktionieren, kommentieren Sie dort. Veröffentlichen Sie den Code, den Sie auch ausprobiert haben. – Reeza

Antwort

0

Proc Transpose ist bereits der richtige Schritt, um Ihre Daten in Form zu bringen. Proc report wird nur verwendet, um IDs nur einmal anzuzeigen.

data wide; 
    input num first second third; 
    datalines; 
    1  13  17  16 
    2  23  11  64 
    ; 
run; 

proc transpose data = wide out= long (rename=(col1 = var_n)) ; 
    by num; 
    var first second third; 
run; 

proc report data = long; 
    column num var_n; 
    define num/ order; 
run; 
+0

Sie sollten 'nowd' zu Ihrer proc-Berichtanweisung hinzufügen. Dies ist in SAS 9.4+ nicht erforderlich, aber für niedrigere Versionen. – Reeza

0

Dies ist im Wesentlichen das dritte Mal, dass Sie die gleiche Frage gestellt haben. Sie können proc transpose oder proc sql verwenden, um es zu erledigen.

Ihre anderen Beitrag: How to make a column of three. SAS

0

versuchen Sie die folgenden

proc sort data=dataset; 
    by num; 
run; 

proc transpose data=dataset out=transpose; 
    by num; 
    var first second third; 
run; 

dank

Verwandte Themen