2015-12-18 208 views
1

我正在處理PROC REPORT。有一個類似於下面的要求。我有點猶豫是否使用PROC TABULATE,並想嘗試PROC REPORT。SAS中的PROC報告生成表格輸出

我的要求是如下:

產品應顯示爲ACROSS變量和每個PRODUCT SALES下的總和應通過區域被顯示。

proc report data=shoes; 
column sales product , region ; 
define product/across; 
define region/group; * --> Need the report by REGION ; 
define sales/ analysis; 
run; 

但是這段代碼被扔我一個錯誤:

ERROR: A DISPLAY or GROUP variable above or below an ACROSS variable requires that there be an ORDER, GROUP, or DISPLAY variable in the report that is not above or below an ACROSS variable. 

如何單獨PROC REPORT做到這一點。這是真的有可能,還是因爲這個限制我需要去TABULATE?

回答

2

您的堆疊順序顛倒。你需要在逗號後面加上整列。在逗號後面加上區域意味着您想要將區域嵌套在產品中 - 這可能不是您想要的(以及爲什麼SAS不能使用此代碼 - 因爲否則沒有什麼可以定義該行)。

proc report data=sashelp.shoes; 
column region sales,product; 
define product/across; 
define region/group; * --> Need the report by REGION ; 
define sales/ analysis; 
run; 

要看到它會是什麼樣子,如果你得到了它與你有什麼最初的工作,看到這個表:

proc report data=sashelp.shoes; 
column sales product, region subsidiary; 
define product/across; 
define region/group; * --> Need the report by REGION ; 
define sales/ analysis; 
define subsidiary/group; 
run; 

這完全是不是你想要的,我懷疑。雖然它本身就是一張非常有趣的表格。