Axis Expressions

Each axis specification results in an SQL SELECT statement, the select list of which has one column for each dimension oriented on that axis, and a RANK column, which represents the rank of a tuple on the axis. (Recall that sets are ordered in MDX.) For example, the axis specification

CROSSJOIN({MSAccess, MSWord}, {Kansas, Buffalo, Topeka, USA, Canada}) 
   ON COLUMNS

will result in a SELECT statement that generates the following virtual table:

Name1 Name2 Rank
Products.All.Office.Access Geography.All.USA.Kansas 1
Products.All.Office.Access Geography.All.USA.NewYork.Buffalo 2
Products.All.Office.Access Geography.All.USA.KansasTopeka 3
Products.All.Office.Access Geography.All.USA 4
Products.All.Office.Access Geography.All.Canada 5
Products.All.Office.Word Geography.All.USAKansas 6
Products.All.Office.Word Geography.All.USA.NewYork.Buffalo 7
Products.All.Office.Word Geography.All.USA.KansasTopeka 8
Products.All.Office.Word Geography.All.USA 9
Products.All.Office.Word Geography.All.Canada 10

Note   This table can be joined with the MEMBERS table to yield the axis rowset.

The generation of this table requires multiple SQL statements, which operate on the MEMBERS and LEVELS tables. The virtual tables generated by the intermediate SELECT statements are used as input to the subsequent SELECT statements. The section “A Complete Example” has several examples that make this process clear.