CROSSJOIN, función (DAX)

Devuelve una tabla que contiene el producto cartesiano de todas las filas de todas las tablas de los argumentos. Las columnas de la nueva tabla son todas las columnas de todas las tablas de argumentos.

Sintaxis

CROSSJOIN(<table>, <table>[, <table>]…)

Parámetros

  • tabla
    Cualquier expresión de DAX que devuelva una tabla de datos.

Valor devuelto

Tabla que contiene el producto cartesiano de todas las filas de todas las tablas de los argumentos.

Comentarios

  • Los nombres de columna de los argumentos de table deben ser diferentes en todas las tablas o se devuelve un error.

  • El número total de filas devueltas por CROSSJOIN() es igual al producto del número de filas de todas las tablas de los argumentos; además, el número total de columnas de la tabla resultante es la suma del número de columnas de todas las tablas. Por ejemplo, si TableA tiene rA filas y cA columnas, TableB tiene rB filas y cB columnas, y TableC tiene rC filas y cC columna, la tabla resultante tiene rA × rb × rC filas y cA + cB + cC columnas.

Ejemplo

En el ejemplo siguiente se muestran los resultados de aplicar CROSSJOIN() a dos tablas: Colors y Stationery.

La tabla Colores contiene colores y patrones:

Color

Patrón

Rojo

Horizontal Stripe

Verde

Vertical Stripe

Azul

Crosshatch

La tabla Stationery contiene fuentes y presentación:

Fuente

Presentación

serif

embossed

sans-serif

engraved

La expresión para generar la combinación cruzada se muestra a continuación:

CROSSJOIN( Colors, Stationery)

Siempre que se use la expresión anterior cuando se espere una expresión de tabla, los resultados de la expresión serán los siguientes:

Rojo

Horizontal Stripe

serif

embossed

Verde

Vertical Stripe

serif

embossed

Azul

Crosshatch

serif

embossed

Rojo

Horizontal Stripe

sans-serif

engraved

Verde

Vertical Stripe

sans-serif

engraved

Azul

Crosshatch

sans-serif

engraved