How to create a Cartesian
product using a datastep ?
Objective : Hello readers. This post is unlike
all my previous posts which deal with one or the other concepts of SAS and
explain them in detail. The idea for this post came up from one of the
interview questions which I have been asked many times over (and I am asking it
now when I am on the other side of the table :-) ).
In one of my previous posts I have compared the
datastep merges with SQL joins, but no one ever tells how to do in datastep
what is called a Cartesian product in SQL, and which is pretty easy to do in
SQL. Interestingly Cartesian product forms tha base of SQl joins, so if we can
replicate SQL joins in datastep then we should also be able to replicate
Cartesian product..!!
The answer is Yes we can do it, and easily. But
you’ll know it only when you see it.
So here is the short and simple way to do it, but
before that let me explain for people who don’t know about Cartesian product,
what it is and what is a point option(Shhh..this is the key)