我想为另一个变量(局)设置一个计数变量。另外,我希望每次输入变量从1变为2时,count变量都会重置。例如
innings count
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
2 1
2 2
2 3
2 4
2 5
2 6
2 7
2 8
2 10
2 11
2 12
1 1
1 2
1 3
1 4
1 5
1 6
我尝试过以下代码:
data T20_SCORECARD_data_innings;
set T20_SCORECARD_data_innings;
count + 1;
by innings;
if first.innings then count = 0;
run;
但它似乎不起作用。
非常感谢任何帮助。
ANKIT
答案 0 :(得分:2)
如果您的数据确实没有排序,只是简单地分组到1和2,那么您可以使用您的代码,但将NOTSORTED选项添加到BY语句中。
data T20_SCORECARD_data_innings;
set T20_SCORECARD_data_innings;
by innings NOTSORTED;
count + 1;
if first.innings then count = 0;
run;
答案 1 :(得分:1)
在使用by子句的数据步骤中,需要对数据进行排序。在你的情况下,它不是。如果您更改数据,那么第三组(第二组1)的前三名应该可以使用。