2012-09-17 3 views
1

Как назначить ID номеров на основе двух переменных, A и B. Было бы полезно, если бы код мог обрабатывать несколько переменных. Вот что мои данные выглядят так:Назначение идентификационного номера по группам

A  B ID 
5000136 5 1 
5000136 5 1 
5000225 4 2 
5000225 4 2 
5000225 4 2 
5000225 6 3 
5000225 6 3 
5000225 6 3 
5000327 2 4 
5000327 2 4 
.... 

ID результат я хочу, чтобы произвести. Спасибо заранее, и я сожалею, если этот вопрос повторяется.

ответ

3
data want; 
set have; 
by A B; 
if first.B then id+1; 
run; 
1

Если вы не хотите использовать первую. [Var] обработку, этот метод также может быть использован.

data test; 
infile cards; 
input a b; 
retain id 0; 
id = ifn(lag(b) ne b, id+1, id); 
datalines; 
5000136 5 
5000136 5 
5000225 4 
5000225 4 
5000225 4 
5000225 6 
5000225 6 
5000225 6 
5000327 2 
5000327 2 
; 
run; 

proc print; 
run; 
Смежные вопросы