2010-06-30 3 views
1

Univariate BasicMeasures가 BY 변수를 표시하는 동안 Univariate Frequencies가 BY 변수를 표시하지 않는 것이 일반적입니까?단일 변수 빈도에 BY 변수가 표시되지 않습니까?

아래 예에서 일부 데이터를로드하고 우편 번호로 유가를 표시하려고합니다. PROC FREQ에 대한 출력은 UNIVARIATE BasicMeures와 마찬가지로 BY 변수 (우편 번호)를 출력에 표시합니다. 그러나 UNIVARIATE Frequencies는 BY 변수를 출력에 표시하지 않습니다.

내가 잘못 했나요? 템플릿이 다른 코드 (또는 동일한 계정을 사용하는 다른 코더)에 의해 엉망이 된 경우를 대비하여 ODS PATH 문과 함께 템플릿을 기본값으로 설정했습니다.

DATA prices; 
    INPUT zipcode price; 
    DATALINES; 
90066 3.10 
90066 3.17 
90066 3.26 
98101 2.99 
98101 3.06 
98101 3.16 
; 
run; 
proc sort; 
    by zipcode; 
run; 

ods path sashelp.tmplmst(read) ; 

ods pdf file = "gasprices.pdf"; 
PROC FREQ data = prices; 
    tables price; 
    by zipcode; 
run;  
ods select Frequencies; 
PROC UNIVARIATE data = prices freq; 
    var price; 
    by zipcode; 
run; 
ods select BasicMeasures; 
PROC UNIVARIATE data = prices; 
    var price; 
    by zipcode; 
run; 
ods pdf close; 

답변

0
이 같은 동일 PROC 주파수에서 두 테이블을 풀 수 있도록 당신의 ODS SELECT 하나 이상의 오브젝트를 지정할 수 있습니다

:

ods pdf file = "gasprices.pdf"; 
ods select BasicMeasures Frequencies; 
PROC UNIVARIATE data = prices freq; 
    var price; 
    by zipcode; 
run; 
ods pdf close; 

나는 그것이 정확히 해결되지 않는 알고 문제는 아니지만 BY 변수 디스플레이가 PROC UNIVARIATE 빈도 테이블에 올바르게 연결되어 있지 않은 것처럼 보입니다 (예 : ODS SELECT MOMENTS를 시도해보십시오). SAS에보고 할 가치가 있습니다.

+0

멋진 솔루션입니다. 아이디어에 대해 많은 감사드립니다. 데이터를 분할하고 수동으로 제목을 채우는 비효율적 인 대안 방식보다 낫습니다. –

관련 문제