2011-11-16 3 views
2

x1 및 x2로 정렬 된 데이터 세트가 있습니다. x1의 모든 값에 대해 x2의 마지막 값만 인쇄하려고합니다. 어떻게해야합니까? 당신은 당신이 last 문을 사용할 수 있음을 맞아,하지만 당신은 인쇄 문에서 사용할 수 없습니다SAS의 last.group 문

if last.x2 then print;

답변

3

Itzy는 듯했으나 마지막 문은 다음과 같이 X1을 참조하도록 변경해야합니다 :

data tmp; 
set mydataset; 
by x1 x2; 
if last.x1; 
run; 

proc print data=tmp; run; 
+0

감사합니다. 내 대답을 수정했습니다. – itzy

5

: 뭔가처럼은 될 것이다. 이 시도 : 이것은 X2의 가장 큰 값을 갖는 하나의 행을 출력합니다

data tmp; 
set mydataset; 
by x1 x2; 
if last.x1; 
run; 

proc print data=tmp; run; 
+0

작동하지 않습니다. 최대 x2 값을 갖는 x1 값 대신 x1 및 x2 값을 모두 인쇄합니다. – Trevor

0

.

proc sort data=mydataset; 
    by x2; 
run; 

data tmp; 
    set mydataset end=eof; 
    if eof then do; 
    output; 
    end; 
run; 

proc print data=tmp; 
run; 

가장 큰 값을 가진 행이 여러 개인 경우 그 중 하나만 인쇄됩니다.