I have this type of data:
| Hour | X |
| 0 | 70232 |
| 1 | 68422 |
| 2 | 67014 |
| 3 | 66068 |
| 4 | 65781 |
| 5 | 66308 |
| 6 | 67559 |
| 7 | 69150 |
| 8 | 69788 |
| 9 | 70685 |
and I'd like to have a delta(x) as a new variable delta(x) = Next - Current so the data would look like this:
| Hour | X | Delta X |
| 0 | 70232 | -1810 |
| 1 | 68422 | -1408 |
| 2 | 67014 | ... |
| 3 | 66068 | ... |
| 4 | 65781 | ... |
| 5 | 66308 | ... |
| 6 | 67559 | ... |
| 7 | 69150 | ... |
| 8 | 69788 | ... |
| 9 | 70685 | ... |
data have;
input Hour X;
cards;
0 70232
1 68422
2 67014
3 66068
4 65781
5 66308
6 67559
7 69150
8 69788
9 70685
;
data want;
merge have have(firstobs=2 rename=(x=_x));
delta=_x-x;
drop _x;
run;
data have;
input Hour X;
cards;
0 70232
1 68422
2 67014
3 66068
4 65781
5 66308
6 67559
7 69150
8 69788
9 70685
;
data want;
merge have have(firstobs=2 rename=(x=_x));
delta=_x-x;
drop _x;
run;
It's your turn to help shape SAS Innovate 2027. Share your expertise and inspire the SAS community.
Check out this tutorial series to learn how to build your own steps in SAS Studio.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.