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.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.