我有以下形式SAS,如何运行索引“通过行做”循环?
ID BookingDate Releasedate
1 1/1/11 1/3/14
2 3/3/12 1/4/17
.
.
.
数据(ID是一个字符变量)
的数据以这种方式继续进行。
我所试图做的是建立一个循环如下:
If id(i) = id(i+1) AND
BookingDate(i) = Bookingdate(i+1) AND
Releasedate(i) NE ReleaseDate(i+1)
Then
Releasedate(i) = Max(ReleaseDate(i), Releasedate(i+1))
Else
Releasedate(i) = Releasedate(i)
这将是对于i = 1(行数)
注意,我的语法是伪这里。
一切我读过有关阵列看起来它工作在列,一行一行。
谢谢!
SAS从上到下一行一次读取数据,因此在您的示例中不需要索引。然而,这意味着你无法查看你(容易)前值,但可以使用滞后()函数与以前的值进行比较 - http://support.sas.com/documentation/cdl/en/ lrdict/64316/HTML /默认/ viewer.htm#a000212547.htm –
什么是你真正尝试计算?你能用文字来形容它吗?它看起来像是你想在每个预订日期内找到最大的发布日期。 – Tom