2016-04-01 8 views
-2

の列を作る必要があり、私は転置を試してみましたが、何も...は私が観察を持っていると私は私が観察を持っていると私は、分割をしようとしたSAS の列を作るために必要な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 

アドバイスをしてもらえますか?

+0

を試すには、SASデータテーブルまたはレポートということですか? –

+0

私はprocレポートが必要です – Tanya

+0

複数回質問しないでください。既に解決策が提示されていますが、うまくいかない場合はそこにコメントしてください。試したコードを投稿してください。 – Reeza

答えて

0

Proc Transposeは、すでにデータを形にする正しいステップです。 Proc reportは、IDを1回だけ表示するためにのみ使用されます。

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

procレポートステートメントに 'nowd'を追加する必要があります。これはSAS 9.4以降では必要ありませんが、より低いバージョンでは必要です。 – Reeza

0

これは本質的に同じ質問をした3回目です。 proc transposeまたはproc sqlを使用すると、それを実行できます。

あなたの他の記事を参照してください:How to make a column of three. SAS

0

は、以下の

proc sort data=dataset; 
    by num; 
run; 

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

おかげ