잠재적 인 솔루션에 대해서는이 이전 게시물 (LINK)을 체크 아웃했지만 여전히 작동하지 않습니다. ID를 공통 식별자로 사용하여 행 전체를 합산하려고합니다. 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
I 원하는 id
및 comp
두 변수 [comp
= 1]의 합 = A pct
변수/num
가지고를 creat에 데 사용할 현재 보유 :
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 문의 3 개만 포함되어 있습니까? – Jebediah15
SQL 문은 출력 할 변수를 정의하기 때문에. SAS 관련 문서 인 PROC SQL은 많은 관련 예제를 사용하여 상당히 훌륭합니다. 그것은 내가 스스로 SQL 구문을 가르치는 방법입니다. – DomPazz