What is the efficiency of very long format lists? I would use SQL joins for all of the examples you give here. They have the advantage of a clean well-known syntax and indexes. A view would (should) save the intermediate table. . In case anyone at SAS would like to use a non-USA example for all us customers out here in the sticks, you could try the départements in France. There are others. :-)