Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Devuelve el producto vectorial de uno o más conjuntos.
Sintaxis
Standard syntax
Crossjoin(Set_Expression1 ,Set_Expression2 [,...n] )
Alternate syntax
Set_Expression1 * Set_Expression2 [* ...n]
Argumentos
Set_Expression1
Una expresión válida de Expresiones Multidimensionales (MDX) que devuelve un conjunto.
Set_Expression2
Una expresión válida de Expresiones Multidimensionales (MDX) que devuelve un conjunto.
Remarks
La función de unión cruzada devuelve el producto vectorial de dos o más conjuntos especificados. El orden de las tuplas en el conjunto resultante depende del orden de los conjuntos a unir y del orden de sus miembros. Por ejemplo, cuando el primer conjunto consiste en {x1, x2,...,xn}, y el segundo conjunto consiste en {y1, y2, ...,y n}, el producto vectorial de estos conjuntos es:
{(x1, y1), (x1, y2),...,(x1,y n), (x2, y1), (x2, y2),...,
(x2,y n),..., (xn, y1), (xn, y2),..., (xn,y n)}
Importante
Si los conjuntos en la unión cruzada están compuestos por tuplas de diferentes jerarquías de atributos en la misma dimensión, esta función solo devolverá aquellas tuplas que realmente existan. Para más información, consulte Conceptos clave en MDX (Servicios de Análisis).
Examples
La siguiente consulta muestra ejemplos sencillos del uso de la función de Crossjoin en el eje Columnas y Filas de una consulta:
SELECT
[Customer].[Country].Members *
[Customer].[State-Province].Members
ON 0,
Crossjoin(
[Date].[Calendar Year].Members,
[Product].[Category].[Category].Members)
ON 1
FROM [Adventure Works]
WHERE Measures.[Internet Sales Amount]
El siguiente ejemplo muestra el filtrado automático que se produce cuando diferentes jerarquías de la misma dimensión se entrelazan:
SELECT
Measures.[Internet Sales Amount]
ON 0,
//Only the dates in Calendar Years 2003 and 2004 will be returned here
Crossjoin(
{[Date].[Calendar Year].&[2003], [Date].[Calendar Year].&[2004]},
[Date].[Date].[Date].Members)
ON 1
FROM [Adventure Works]
Los siguientes tres ejemplos demuestran los mismos resultados: el importe de ventas por Internet por estado para estados dentro de Estados Unidos. Los dos primeros utilizan las dos sintaxis de unión cruzada y el tercero demuestra el uso de la cláusula WHERE para devolver la misma información.
Ejemplo 1
SELECT CROSSJOIN
(
{[Customer].[Country].[United States]},
[Customer].[State-Province].Members
) ON 0
FROM [Adventure Works]
WHERE Measures.[Internet Sales Amount]
Ejemplo 2
SELECT
[Customer].[Country].[United States] *
[Customer].[State-Province].Members
ON 0
FROM [Adventure Works]
WHERE Measures.[Internet Sales Amount]
Ejemplo 3
SELECT
[Customer].[State-Province].Members
ON 0
FROM [Adventure Works]
WHERE (Measures.[Internet Sales Amount],
[Customer].[Country].[United States])