2010-06-30 16 views
1

Univariate Frequencies通常不顯示BY變量,而Univariate BasicMeasures確實顯示BY變量嗎?單變量中未顯示BY變量嗎?

在下面的例子中,我加載了一些數據,並希望通過郵編顯示天然氣價格。 PROC FREQ的輸出與UNIVARIATE BasicMeasures一樣在輸出中顯示BY變量(zipcode)。但UNIVARIATE頻率沒有在輸出中顯示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

您可以在ODS SELECT指定一個以上的對象,所以你可以拉兩個表出來的一樣PROC FREQ這樣的:

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

很酷,這是一個很好的解決方案。非常感謝這個想法。比我分離數據和手動填寫標題的低效替代方法更好。 – 2010-06-30 21:42:56