Authors: Don Henderson ( @DonH ) and Paul Dorfman ( @hashman )
This SAS Global Forum presentation highlights additional functionality of the SAS hash object. Soon after the advent of the SAS hash object in Version 9.0, its early adopters realized that its potential functionality is much broader than merely using its fast table look-up capability for file matching. This is because in reality, the hash object is a versatile data storage structure with a roster of standard table operations, such as create, drop, insert, delete, clear, search, retrieve, update, order, and enumerate.
Since it is memory-resident and its key-access operations execute in O(1) time, it runs them as fast or faster than other canned SAS techniques, with the added bonus of not having to code around their inherent limitations. Another advantage of the hash object, compared to the methods that had existed before its implementation, is its dynamic, run-time nature and the ability to handle I/O all by itself, independently of the intrinsic statements of a DATA step or DS2 program calling its methods.
The hash object operations, or their combination thereof, lend themselves to diverse SAS programming functionalities well beyond the original focus on data search and retrieval. In this paper, which may be thought of as a preview of a SAS book being written by the authors, we aim to present this logical connection using the power of example.
Online resources
Beyond Table Look-up: The Versatile SAS Hash Object (PDF)
Sample programs and data (attached to this article)
Presentation slides (attached to this article)
Using the Hash Object (SAS documentation)
... View more