Sas 基于两个变量创建特定索引
Supose我想在SAS上计算一个新变量,该变量是客户机订单的索引(第一、第二等)。 我有两个原始变量:客户ID和购买日期,在这些行上(我也有其他变量,但它们不会更改新变量): 新的var如下所示:Sas 基于两个变量创建特定索引,sas,Sas,Supose我想在SAS上计算一个新变量,该变量是客户机订单的索引(第一、第二等)。 我有两个原始变量:客户ID和购买日期,在这些行上(我也有其他变量,但它们不会更改新变量): 新的var如下所示: CLIENT_ID DATE_OF_PURCHASE ITEM ORDER 12345 11NOV2013 A 1 12345 11NOV2013 B 1 12345
CLIENT_ID DATE_OF_PURCHASE ITEM ORDER
12345 11NOV2013 A 1
12345 11NOV2013 B 1
12345 11NOV2013 C 1
12345 22DEC2013 A 2
67890 17OCT2013 A 1
67890 17OCT2013 B 1
88888 07NOV2013 A 1
88888 28NOV2013 A 2
88888 28NOV2013 C 2
也就是说,客户12345在2013年11月11日下了一个订单,购买了3件物品,在2013年12月22日下了一个订单,购买了一件物品。等等
有没有简单的方法来创建这个新变量?先使用。使用“按组”来确定如何设置顺序
data have;
informat date_of_purchase DATE9.;
input CLIENT_ID DATE_OF_PURCHASE ITEM $;
datalines;
12345 11NOV2013 A
12345 11NOV2013 B
12345 11NOV2013 C
12345 22DEC2013 A
67890 17OCT2013 A
67890 17OCT2013 B
88888 07NOV2013 A
88888 28NOV2013 A
88888 28NOV2013 C
;;;;
run;
data want;
set have;
by client_id date_of_purchase;
if first.client_id then ordernum=0;
if first.date_of_purchase then ordernum+1;
run;
data have;
informat date_of_purchase DATE9.;
input CLIENT_ID DATE_OF_PURCHASE ITEM $;
datalines;
12345 11NOV2013 A
12345 11NOV2013 B
12345 11NOV2013 C
12345 22DEC2013 A
67890 17OCT2013 A
67890 17OCT2013 B
88888 07NOV2013 A
88888 28NOV2013 A
88888 28NOV2013 C
;;;;
run;
data want;
set have;
by client_id date_of_purchase;
if first.client_id then ordernum=0;
if first.date_of_purchase then ordernum+1;
run;