我在SAS中有以下数据,我想知道在特定时间内购买某种产品的客户数量。
如果客户在集团内重复,则无法计算。
Product customer interval
1 A Morning
1 A Morning
1 B Afternoon
1 A Evening
2 A Afternoon
2 B Morning
2 C Afternoon
我想得到的是下表
Morning Afternoon Evening All
Product Customer number
1 1 1 1 2
2 1 2 0 3
答案 0 :(得分:1)
我相信您必须删除重复项才能生成此表。
这可以通过在proc类中使用nodupkey选项轻松完成:
proc sort data = have out = want nodupkey;
by product customer interval;
run;
这是一种格式,可以通过在您想要的类别前面放置空格来正确排序区间类别:
proc format;
value $interval
"Morning" = " Morning"
"Afternoon" = " Afternoon"
"Evening" = "Evening";
run;
以下是制表声明:
proc tabulate data = want order = formatted;
class product interval;
tables product, interval = " " all / row = float misstext = "0" printmiss;
keylabel n = " ";
format interval $interval.;
run;
返回下表:
Morning Afternoon Evening All
Product
1 1 1 1 3
2 1 2 0 3
如果缺少值,这将更复杂。