2014-10-08 2 views
1

분기 별 데이터 값이 포함 된 데이터 집합이 있습니다. 하지만 지금은 같은 해를 갖는 분기 별 가치를 합산하려고합니다.SAS에서 4 분기 데이터를 하나의 값으로 합산하는 방법

데이터 H :

time  value 
01JAN90 23 
01APR90 31 
01JUL90 13 
01OCT90 45 
01JAN91 11 
01APR91 4 
01JUL91 1 
01OCT91 17 

나는이 같은 내 결과 데이터가 원하는 : 당신의 time 변수가 숫자 인 경우

time  value 
1990  53 
1991  35 
+0

'time'은 문자 변수이거나 숫자로 된 날짜 변수입니까? – Joe

+0

"같은 해를 갖는 분기 별 가치의 합계"가 무엇을 의미하는지 명확히 할 수 있습니까? 이는 모든 값을 연도별로 합산하는 것과 같으므로 결과 데이터가 표시되지 않습니다. 확인해주세요. 그동안 나는 해답을 얻었습니다. –

답변

0

, 당신은 자동으로 해 추출하는 PROC SUMMARY 내에서 FORMAT 문을 사용할 수 있습니다 PROC가 실행됩니다. (@ Joe가 원래의 대답에 주석을 달아 주신 덕분에)

PROC SUMMARY NWAY DATA = h; 
    CLASS time; 

    FORMAT time YEAR. ; 

    OUTPUT 
     OUT = result (
      KEEP = year value 
     ) 
     SUM (value) = 
    ; 
RUN; 
+1

진정한 날짜 변수라면, 이것은 필요하지 않습니다 (그러므로 원래의 질문입니다). 형식을 사용하여 SUMMARY를 작성하여 연도별로 직접 요약 할 수 있습니다. 그것이 문자라면, 이것은 아마도 가장 좋은 간단한 방법 (연도를 얻으려고 substr이나 비슷한 것을 사용하는 것)입니다.하지만 주위에있는 형식을 만들 수도 있습니다 (의미가있는 것보다 더 많은 작업이 있습니다). – Joe

+1

나는 그것을 결코 알지 못했다. - 나는 단지'FORCAT time YEAR.' 문을 나의'PROC SUMMARY'에 추가하여 테스트했다. 고마워. 변경 사항을 내 답변에 통합하면 어떻게됩니까? –

+0

날짜 값은 질문 한 다른 질문을 기반으로하는 문자 일 수 있으므로 연도 = 연도 (입력 (시간, anydtdte.)); 적절한 연도 가치를 얻으려면. – Reeza

관련 문제