La función CONJUNTOCUBO define un conjunto calculado de miembros o tuplas mediante el envío de una expresión de conjunto a un cubo en el servidor. El servidor crea este conjunto y lo devuelve a Microsoft Excel. Esta función es una de las varias funciones de cubo diseñadas para trabajar con orígenes de datos de Procesamiento Analítico en Línea (OLAP), como SQL Server Analysis Services (SSAS).
Esencialmente, CONJUNTOCUBO no devuelve los miembros del conjunto directamente en la celda, sino una representación de ese conjunto que puede ser utilizada por otras funciones de cubo, como MIEMBRORANGOCUBO o RECUENTOCONJUNTOCUBO, para extraer datos.
Sintaxis
=CONJUNTOCUBO(conexión, expresión_conjunto, [título], [orden_clasificación], [clasificar_por])
Los parámetros de la función son:
- conexión: Una cadena de texto que representa el nombre de la conexión al cubo de datos definida en el libro de trabajo. Obligatorio.
- expresión_conjunto: Una cadena de texto de una expresión multidimensional (MDX) que da como resultado un conjunto de miembros o tuplas. También puede ser una referencia a una celda que contenga dicha expresión. Obligatorio.
- título: Una cadena de texto opcional que se muestra en la celda en lugar de la conexión al conjunto. Si se omite, se utilizará la información del cubo. Opcional.
- orden_clasificación: Un número que especifica el tipo de ordenación que se aplicará al conjunto. Los valores posibles son:
- 0: Sin ordenar (predeterminado).
- 1: Orden ascendente (A-Z).
- 2: Orden descendente (Z-A).
Opcional.
- clasificar_por: Una cadena de texto con la expresión MDX de un valor por el cual se debe ordenar el conjunto (por ejemplo, el nombre de una medida como «[Medidas].[Ventas Totales]»). Este argumento solo se usa si se especifica orden_clasificación. Opcional.
Ejemplos
Para los siguientes ejemplos, se asume que existe una conexión de datos OLAP en el libro llamada «VentasCubo» que conecta con un cubo que contiene dimensiones de «Producto», «Tienda» y medidas como «Ventas Netas».
Ejemplo 1: Crear un conjunto con todos los productos
Esta fórmula define un conjunto que incluye a todos los miembros de la jerarquía «Producto».
=CONJUNTOCUBO("VentasCubo", "[Producto].[Todos los productos].Children", "Lista de Productos")
Resultado: La celda mostrará «Lista de Productos». El conjunto definido se puede usar en otras funciones. Por ejemplo, =RECUENTOCONJUNTOCUBO(A1), donde A1 contiene la fórmula anterior, devolvería el número total de productos.
Ejemplo 2: Crear un conjunto ordenado de las 5 tiendas con mayores ventas
Esta fórmula usa las funciones MDX TopCount y Order para crear un conjunto con las 5 tiendas principales, ordenadas de mayor a menor venta neta.
=CONJUNTOCUBO("VentasCubo", "TopCount([Tienda].[Nombre Tienda].Members, 5, [Medidas].[Ventas Netas])", "Top 5 Tiendas", 2, "[Medidas].[Ventas Netas]")
Resultado: La celda mostrará «Top 5 Tiendas». El conjunto subyacente contiene las 5 tiendas con las ventas más altas, ordenadas de forma descendente.
Ejemplo 3: Crear un conjunto filtrado
Esta fórmula define un conjunto que contiene únicamente los productos de la categoría «Electrónica».
=CONJUNTOCUBO("VentasCubo", "Filter([Producto].[Producto].Members, [Producto].[Categoría].CurrentMember.Name = 'Electrónica')")
Resultado: La celda mostrará el nombre del conjunto de la categoría «Electrónica». Este conjunto puede ser usado para analizar específicamente las ventas de esa categoría.
Observaciones
Cuando la función CONJUNTOCUBO se está evaluando, muestra temporalmente el mensaje «#OBTENIENDO_DATOS…» en la celda hasta que se recuperan todos los datos del cubo.
Esta función es específica para conexiones a modelos de datos y cubos OLAP, por lo que no funcionará con rangos de celdas estándar de Excel.
Errores comunes
- #N/A: Ocurre si el nombre de la conexión proporcionado en el argumento conexión no es una conexión válida existente en el libro. También puede ocurrir si el servidor OLAP no está disponible o la conexión ha fallado.
- #¡VALOR!: Ocurre si la expresión_conjunto es sintácticamente incorrecta o si alguno de los argumentos opcionales no es válido.
- #NOMBRE?: Ocurre si el nombre de la función está mal escrito o si la versión de Excel que está utilizando no admite funciones de cubo.
Disponibilidad por versión de Excel
Las funciones de cubo, incluyendo CONJUNTOCUBO, se introdujeron en Excel 2007 y están disponibles en todas las versiones posteriores para escritorio de Windows.
Compatibilidad
| Software | Compatibilidad | Notas | Alternativa |
|---|---|---|---|
| Microsoft Excel (Windows) | ✔️ | Funcionalidad completa en versiones con soporte para modelos de datos y OLAP. | — |
| Microsoft Excel (Mac) | ❌ | Las versiones de Excel para Mac no admiten conexiones a orígenes de datos OLAP. | — |
| Microsoft Excel (Web) | ❌ | No es compatible con las funciones de cubo. | — |
| Google Sheets | ❌ | No dispone de funciones para conectar con cubos OLAP. | — |
| LibreOffice Calc | ❌ | Carece de un motor de análisis de datos OLAP equivalente. | — |
| OpenOffice Calc | ❌ | Carece de un motor de análisis de datos OLAP equivalente. | — |
| WPS Office Spreadsheets | ❌ | No es compatible con esta funcionalidad avanzada de Excel. | — |
| Apple Numbers | ❌ | No ofrece soporte para conexiones a datos OLAP. | — |
Funciones Relacionadas
- MIEMBROCUBO: Devuelve un miembro o tupla de un cubo. Se usa a menudo junto a CONJUNTOCUBO para extraer miembros específicos del conjunto.
- VALORCUBO: Devuelve un valor agregado de un cubo.
- RECUENTOCONJUNTOCUBO: Devuelve el número de elementos en un conjunto definido por CONJUNTOCUBO.
- MIEMBRORANGOCUBO: Devuelve el enésimo miembro (o el que ocupa una determinada posición) de un conjunto.
- PROPIEDADMIEMBROCUBO: Devuelve el valor de una propiedad de un miembro del cubo.
