【发布时间】:2014-07-09 17:30:46
【问题描述】:
提前感谢您提供的任何帮助。 我正在尝试通过 Type 来“链接”观察结果,这样我就可以在单个观察线上比较连续的日期和值。 当我使用下面的代码按类型精确地获得两个观察值时,我可以这样做,但问题是我不知道我将为给定类型链接多少个观察值,这不是这个问题的写入路径。
输入:
Obs Type Date Value
1 A Date_1 19
2 A Date_2 18
3 A Date_3 7
4 A Date_4 3
5 B Date_1 29
6 B Date_2 25
7 C Date_1 29
.
期望的输出:
Obs Type Date Value DateB ValueB
1 A Date_1 19 Date_2 18
2 A Date_2 18 Date_3 7
3 A Date_3 7 Date_4 3
4 B Date_1 29 Date_2 25
5 C Date_1 29 NA NA
.
.
仅适用于 2 个 OBS 且仅适用于值(不是日期和值)的当前代码:
DATA data_chain;
SET data_old;
RETAIN LASTREAD;
BY Type;
IF FIRST.Type THEN LASTREAD = Date;
ELSE DateB= LASTREAD;
DROP LASTREAD;
RUN;
【问题讨论】: