我查看了此前的帖子(LINK)尋找潛在的解決方案,但仍然無法正常工作。我想使用ID作爲公共標識符跨行進行求和。 num
變量是恆定的。的id
和comp
兩個變量我想用來創造一個pct
變量,它=的[comp
= 1]總和/ num
一個條件的垂直總和
有:
id Comp Num
1 1 2
2 0 3
3 1 1
2 1 3
1 1 2
2 1 3
想要:
id tot pct
1 2 100
2 3 0.666666667
3 1 100
目前有:
proc sort data=have;
by id;
run;
data want;
retain tot 0;
set have;
by id;
if first.id then do;
tot = 0;
end;
if comp in (1) then tot + 1;
else tot + 0;
if last.id;
pct = tot/num;
keep id tot pct;
output;
run;
一次後續操作:爲什麼我會丟失有數據集中的所有變量,並且輸出只包含sql語句中的三個變量? – Jebediah15 2014-09-03 21:20:54
由於SQL語句定義將輸出哪些變量。 SAS文檔PROC SQL相當不錯,有很多相關的例子。這就是我自學SQL語法的方式。 – DomPazz 2014-09-03 22:23:26