can anyone please help me to get last n obs from each group with out sort the dataset?
Thanks
I was so honor being mentioned by SAS Master Mr. NULL .
It are the first n obs of each group when processing in reversed order. For small data re-sorting is easy and quickest way.
Thanks, but i cant sort the data, i need to get from as data it is.
please elaborate your limitations.
With an external RDBMS there is no physical order defined only logical ordering. In that case a question like this is humbug.
With streaming data you could define a queue of defined size. The lag function of SAS is looking like that. Also a hash can be used for that
Big data with SAS-datasets (relative to your machine) can be processed using a point but than you are losing the first/last options.
What to do if there are less than n records in a group?
Hi, Thanks my issue has been solved.
Should i delete this post?
No. On the contrary, I think you should share your solution with the forum. So should someone else have the similar issue, the answer becomes available.
Regards,
Haikuo
I was so honor being mentioned by SAS Master Mr. NULL .
To add, the double dow loop http://support.sas.com/resources/papers/proceedings09/038-2009.pdf looks to uses the merge by with a reset at the same position / group order.
In that case you have a generic approach for a sorted dataset.
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and save with the early bird rate—just $795!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.