【发布时间】:2014-01-20 23:52:41
【问题描述】:
如果我有一个变量 ID、DATE、过程如下所示的数据集:
'12 01jan2013 a'
'12 01feb2013 b'
'13 14feb2013 c'
'13 15feb2013 a'
'24 01mar2013 c'
'24 02mar2013 a'
'26 01oct2013 a'
'26 02oct2013 a'
我只想输出那些在 Procedure ='a' 的情况下以及在下一天针对每个 ID(按 ID)的 Procedure ="c" 执行的观察结果。所以从上面的例子中我会得到:
'13 15feb2013 a'
'24 02mar2013 a'
您能帮我提供此操作的 SAS 代码吗?
【问题讨论】:
-
你好,到目前为止你有什么尝试?
-
我正在使用 'retain' 和 New_date=DATE + 1 以及 'if then do' 语句(按 ID)。但我不知道如何让程序变量具体化。
-
输出的obs是否必须和昨天的Procedure=
c有相同的ID?我使用了您提到的保留语句,并且还使用了 SAS 日期值而不是下面代码中示例数据集中的日期格式。 -
是的,ID 必须相同。我正在尝试查看 ID 是否在 Prodedure=c 对此 ID 完成后的第二天完成了 Procedure =a。
-
在您详细说明所需条件后,我通过保留 id 对代码进行了一些更改。干杯。
标签: date sas dataset selection