This one is a doozy, at least for me. I want to create a variable called closed_reason_1 for the most recent date within each product_id. Then I want to create variables called closed_reason_2, closed_reason_3 etc. for the second most recent date within that product_id, 3rd, etc. Here is example data: product_id, date, closed_reason_c 1, 1/1/19, Traffic 1, 1/2/19, Bad day 1, 1/3/19, weather 2, 1/1/19, Traffic 2, 1/2/19, Bad day 2, 1/3/19, weather So imagine a dataset that looks something like this, only there are millions of rows, with millions of product_ids, and millions of closed_reason_cs. So far I know I will need to create an array with a do loop but am stuck beyond that. How do I tell SAS how to find the most recent, second most recent, 3rd most recent, 4th most recent, etc. within each product_id, and have it go until it reaches the least recent date, and retrieve each respective closed_reason_c for those dates? Any help would be greatly appreciated. This is with SAS version 9.4.
... View more