주석에서 언급했듯이 proc 보고서를 사용하는 것이 더 나을 것입니다. 일종의. 그러나 그것을 위해서, 어쨌든 해결책이 있습니다! 여기
우리는 방법을 정렬 내림차순를 사용하지만, 합계 전에 빈 행 를 삽입하기위한 다른 방법은 다음 모두에 call missing
, output
을하고, 행에있는 모든 값을 저장하기 위해 임시 변수를 사용하는 것, 그리고 다음 임시 변수의 값을 다시 얻을 다른 출력을한다.)
data have;
informat id 3. rowType $12. number 3.;
input id rowType number;
datalines;
1 value 111
1 value 222
1 total 333
2 value 000
2 value 999
3 total 999
;
data tmp;
set have;
rownum + 1;
if rowType = "total" then do;
output;
call missing(id, rowType, number);
rownum + 1;
output;
end;
else output;
run;
proc sort data=tmp out=tmp(drop=rownum);
by descending rownum;
run;
data tmp2;
set tmp;
rownum + 1;
if rowType = "total" then do;
output;
call missing(id, rowType, number);
rownum + 1;
output;
end;
else output;
run;
proc sort data=tmp2 out=want(drop=rownum);
by descending rownum;
run;
는 더 실제 데이터 세트에서 갖고 싶어 것보다 보고서처럼 소리. 'PROC REPORT'를 사용해 보셨습니까? 또는 'SUM' 문으로 단지'PROC PRINT' 만 가져라. – Tom
@Tom에 동의합니다 ... SAS 절차를 사용하여 'TOTAL'행을 얻었습니까? –
SAS BI를 사용하고 있습니다. 불행히도 그렇지 않습니다. PROC REPORT가 훨씬 더 좋을 것입니다. –