我正在尝试使用proc制表程序来确定某些可配置项目的平均价格,跨商店和跨月份。下面是我需要处理的示例数据集
Configuration|Store_Postcode|Retail Price|month
163|SE1 2BN|455|1
320|SW12 9HD|545|1
23|E2 0RY|515|1
以下代码显示每种配置的月份平均价格。
proc tabulate data=cs2.pos_data_raw;
class configuration store_postcode month;
var retail_price;
table configuration,month*MEAN*retail_price;
run;
但是我可以在Store Post代码级别将这个分组更多一级吗?我将代码修改为如下所示进行读取,但执行此操作会导致系统崩溃!
proc tabulate data=cs2.pos_data_raw;
class configuration store_postcode month;
var retail_price;
table configuration,store_postcode*month*MEAN*retail_price;
run;
请告知我的方法是否不正确,或者我在proc表格中做错了多少以致系统崩溃。
答案 0 :(得分:1)
由于我是SAS的新手,因此我不确定这是否能准确回答您的问题,但是当我将store_postcode*month*MEAN*retail_price
切换为month*store_postcode*MEAN*retail_price
时,它不会崩溃。我只是在想原因是因为您的数据每个月只包含1个值,而邮政编码则包含多个值,因此month是最一般的分类级别,因此它变得更加具体。
顺便说一句,我尝试以另一种方式格式化表格,也通过邮政编码将数据分段:
proc tabulate data=pos_data_raw;
class configuration store_postcode month;
var retail_price;
table store_postcode*configuration, month*MEAN*retail_price;
run;
输出看起来像这样:
该表的左侧和左侧分别是邮政编码和配置ID,顶部是零售价格。