任意の変数の値が重複しているとき、連番を付加する
[OS] ALL
[リリース] ALL
[キーワード] Base, DATA, duplicate value, numbering, FIRST.variable, LAST.variable
[質問]任意の変数の値が重複しているとき、下記のように連番を付加するには、どのようにすればいいですか。 たとえば、下記のような変数IDがあるとき、変数NOを追加したいと考えています。 ID NO A001 1 A001 2 A002 1 A002 2 A002 3 A003 1 A004 1 A004 2
[回答]
BYステートメントとFIRST.変数を使用して、連番を付加することができます。 プログラム例 DATA sample; INPUT id $; CARDS; A001 A001 A002 A002 A002 A003 A004 A004 ; RUN; DATA sample; SET sample; BY id; RETAIN no; /* noの値を保持 */ IF FIRST.id THEN no = 0; /* 値が変わったら、noに0をセット */ no + 1; /* noに1を加算 */ RUN; |