2015-01-07 3 views
1

어떻게 그림 형식을 사용합니까?sas 형식 1,000에서 1k

(1234 -> 1.2K, 1735 -> 2.0K, 888 -> 0.9k, (100) -> 0.1K)

나는 아래의 코드를 사용하려고하지만 그것은 작동하지 않습니다.

proc format; 
picture InK (round) 
    0 - 999 = '009.9 k' (mult=.001) 
    1e3 - 9999 = '09k' (mult=.001) 
    1e4 - 1e5 = '00.99k' (mult=.001); 
run; 
+2

1735가 2.0k로 포맷 된 이유는 다른 모든 것이 올바르게 반올림 되었기 때문입니다. –

답변

5

SAS는 먼저 곱셈을 수행 한 다음 템플릿을 오버레이합니다. 오버레이는 실제로 수학 연산이 아니며 두 개의 오른쪽 끝자리 사이에 소수점을 삽입하는 것입니다. 당신은 10 배만큼 적게 곱해야합니다.

proc format; 
picture InK (round) low - high = '9.9k' (mult=.01); 
run; 

이 나에게 꽤 혼란이지만, SAS documentation과 일치한다.

+0

그 이유는 picture가 실제로 숫자 후치 곱셈을 사용하지 않기 때문입니다. 소수 자릿수 부분을 가져 와서 텍스트로 처리합니다 (십진수 다음에 부분 삭제). – Joe