我认为这很容易,但我无法理解它。
我有一个名为GROUP的变量,然后是日期变量和值变量:
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
我现在想要的是
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
我尝试过Proc转换,但它不允许我这样做,因为小组有多次重复观察。
赞赏任何想法
答案 0 :(得分:0)
如果您事先了解所有群组,则可以使用proc sql
轻松完成此操作:
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;
答案 1 :(得分:0)
你可以使用[System.IO.Directory]::EnumerateFiles("J:\","*","AllDirectories")|out-file -Encoding ascii $outputfile
foreach($line in select-string -Path $outputfile) {
# Some of the $line is the name of a hidden or system file
}
,你只需要对事情进行适当的排序:
PROC TRANSPOSE
然后转置
proc sort data=have out=temp;
by date group;
run;