It pays to keep up with SAS-L, as shown here:

On 9/25/2000 Charles Patridge posted this check
$50 Macro
For the GetZips macro I sent him in response to his message

On 9/24/2000 Charles Patridge posted this message

Subject: $50 for working SQL Solution to a problem
Date: Sun, 24 Sep 2000 23:53:51 GMT

$50 for working SQL Solution to a problem

OK SAS-Lers,

I am looking for a solution to a problem for which I do not have the
time to develop.

I have a CSV file located on my web site
( which you should be able to
open using Excel and then download.  If you are unable to do this, I
will email you this file (22Kb in size).

The columns and variable attributes in this file are
zipcode $ 5. ,
cityname $ 30.,
statcode $ 2. ,
countyna $ 30. ,
areacode 3. ,
laditude 8.4,
longtude 8.4

and represent only the zipcodes within the state of Connecticut as a

The problem is this:

1.  Develop an SQL macro (GETZIPS) which will take two parameters
(zipcode - macro name = FINDZIP, number of miles radius - macro name =

2.  Assume the CSV file (ctzipcode) is already a SAS dataset called
ZIPCODE in a library called TABLES.

3.  I would like the SQL macro to return a table (GOTZIPS = SAS
datatset of zipcodes only) which include all the zipcodes that are
within X number of mile(s) radius from the zipcode entered as the first
parameter of GETZIPS.

Sample call to GETZIPS would look like this:


/*** which would return all zipcodes within the ZIPCODE dataset that
are within 25 mile radius (north, south, east, west, etc) of the
zipcode = "06013", including the zipcode "06013".

The SQL solution must work in SAS version 6.12, so no long variable

The most efficient and readable solution will be the one I choose.
This is not a contest and I will pay the $50.00 to the one solution I
choose.  I need the solution by 9/31/2000 so any submissions after this
will not be considered.  Send your solution to my email address listed

... <snip> ...
This page was last updated 27 September 2000.