2017-10-11 4 views
0

私はそれは簡単だと思いますが、私はそれを覚えていません。私が今したいことはSAS:変数からグループへの観察 - 転位

GROUP Date Value 
A 1-1-2010 1 
A 2-1-2010 2 
A 3-1-2010 3 
A 4-1-2010 4 
B 1-1-2010 5 
B 2-1-2010 6 
B 3-1-2010 7 
B 4-1-2010 8 
C 1-1-2010 9 
C 2-1-2010 10 
C 3-1-2010 11 
C 4-1-2010 12 

私はPROC転置を試してみました

Date  A B C 
1-1-2010 1 5 9 
2-1-2010 2 6 10 
3-1-2010 3 7 11 
4-1-2010 4 8 12 

ですが、それが私を聞かせていません:

私はGROUPと呼ばれる変数、日付変数と値変数を持っていますグループが複数の観察を繰り返しているので、それを行う。

すべてのアイデアは、あなたが簡単にproc sqlでこれを行うことができ

答えて

0

に感謝 - あなたは、事前にすべてのグループを知っている場合:

proc sql; 
    select date, 
      max(case when group = 'A' then value end) as A, 
      max(case when group = 'B' then value end) as B, 
      max(case when group = 'C' then value end) as C 
    from t 
    group by date; 
+0

なぜあなたはこのようにしましたか?あなたは事前にグループを知る必要がありますか? TRANSPOSEを使わないのはなぜですか?これは簡単にこれを処理します。 – DomPazz

0

あなたがPROC TRANSPOSEを使用することができ、あなただけの適切なものを並べ替えることがあります。

proc sort data=have out=temp; 
by date group; 
run; 

その後、トランスポーズ

proc transpose data=temp out=want; 
by date; 
id group; 
var value; 
run; 
関連する問題