I'm using SAS EG 5.1 on Windows 7.
I have the following sample input.
I wish to order this input in such a way that whenever different observations match on ID and on Time, the final state of a given observation matches the initial state of the next observation.
The output should look like this:
I'm at a loss on how to do this. Any help?
Here's the code that generates the input table.
Data Test;
Infile datalines delimiter=',';
Input ID Initial_Stafe $ Final_State $ Time;
Datalines;
123,AA,BB,201701020923
123,BB,CC,201701020930
156,AA,AA,201701020910
163,AC,BC,201701031010
163,DD,CC,201701031010
163,BC,DD,201701031010
163,CC,BB,201701031010
170,BB,.,201701040930
;
Assuming that state has logical (and unbreakable) path.
Also assuming that state is global, the order is the same independent of id, or...?
If so, create a lookup table with a your state and a numerical order by variable, merge/join to get this order by variable, and then resort.
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
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.