...
Code Block |
---|
SELECT {Date.[2001], Date.[2002]} ON COLUMNS, { (Location.[Brazil], Products.[Mountain Bikes].[Professional]), (Location.[Brazil], Products.[Mountain Bikes].[Recreational]), (Location.[Spain], Products.[Mountain Bikes].[Professional]), (Location.[Spain], Products.[Mountain Bikes].[Recreational]) } ON ROWS FROM Demo WHERE (Measures.[Units Sold]) |
En esta consulta, se plantea por enumeración las combinaciones que nos interesan. El eje de las filas contiene 2 dimensiones, ubicación (Location) y productos (Products). Se puede decir que la dimensión producto está anidada en la dimensión ubicación y se tienen todas las combinaciones de los 2 elementos de interes de cada una de las 2 dimensiones, lo que hace que se tengan 4 tuplas en el eje de las filas. Una tupla en MDX es una combinación de miembros de dimensiones originados de dimensiones diferentes.
...
Code Block |
---|
SELECT {Date.[2001], Date.[2002]} ON COLUMNS, CrossJoin( {Location.children}, {Products.[Mountain Bikes].children}) ON ROWS FROM Demo WHERE (Measures.[Units Sold]) |
CrossJoin() espera como parámetros 2 conjuntos, de manera que si se necesita realizar un anidamiento de más de dos conjuntos, se debe anidar la invocación a dicha función. Por otro lado, hay que tener en cuenta que los 2 conjuntos sobre los cuales se quiere hacer el producto cartesiano deben originarse a partir de dimensiones diferentes.
...