La función VALORCUBO en Excel se utiliza para recuperar un valor agregado de un cubo de OLAP (Procesamiento Analítico en Línea). Esta función es una de las más potentes del conjunto de funciones de cubo, ya que permite extraer datos específicos, como un indicador clave de rendimiento (KPI), de una base de datos OLAP conectada directamente en una celda de la hoja de cálculo, sin necesidad de crear una tabla dinámica.
Es ideal para crear informes personalizados y paneles de control (dashboards) que se actualizan dinámicamente con los datos más recientes del servidor OLAP. Para usarla, es necesario tener una conexión activa a un cubo de datos, como los que se encuentran en SQL Server Analysis Services (SSAS).
Sintaxis
=VALORCUBO(conexión; [miembro_expresión1]; [miembro_expresión2]; ...)
La función VALORCUBO tiene los siguientes argumentos:
- conexión: Una cadena de texto que representa el nombre de la conexión al cubo de datos en el libro de Excel. Obligatorio.
- miembro_expresión1: Una cadena de texto de una expresión multidimensional (MDX) que se evalúa como un miembro o una tupla dentro del cubo. También puede ser una referencia de celda a una celda que contenga una o más funciones de cubo, como MIEMBROCUBO. Opcional.
- miembro_expresión2 …: Argumentos adicionales (hasta 254) que refinan la consulta. Al igual que el anterior, son cadenas de texto MDX o referencias a celdas. Opcionales.
Ejemplos
Para los siguientes ejemplos, imaginemos que tenemos una conexión a un cubo de ventas llamado «Ventas_Anuales» que contiene dimensiones como «Tiempo», «Geografía», «Producto» y medidas como «Importe de Ventas».
Ejemplo 1: Obtener el total de ventas
Para obtener el valor agregado total de «Importe de Ventas» de todo el cubo, se usaría la medida como único miembro de expresión.
=VALORCUBO("Ventas_Anuales"; "[Medidas].[Importe de Ventas]")
Esta fórmula devuelve la suma total de las ventas de todos los años, regiones y productos disponibles en el cubo.
Ejemplo 2: Obtener ventas para un año y producto específicos
Si deseamos un valor más específico, como las ventas del producto «Portátiles» en el año «2023», podemos añadir más argumentos `miembro_expresión`.
=VALORCUBO("Ventas_Anuales"; "[Medidas].[Importe de Ventas]"; "[Tiempo].[Año].[2023]"; "[Producto].[Categoría].[Portátiles]")
El resultado será el importe de ventas que cumple con todos los criterios especificados.
Ejemplo 3: Uso dinámico con referencias de celda y la función MIEMBROCUBO
El verdadero poder de VALORCUBO se ve cuando se combina con otras funciones de cubo y referencias de celda. Esto permite crear informes interactivos. Supongamos que en la celda A1 tenemos el año y en la B1 la región.
| A | B | |
|---|---|---|
| 1 | 2024 | España |
| 2 |
Podemos construir los miembros usando la función MIEMBROCUBO y luego pasarlos a VALORCUBO.
' Celda C1 (Miembro para el año):
=MIEMBROCUBO("Ventas_Anuales"; "[Tiempo].[Año].[" & A1 & "]")
' Celda D1 (Miembro para la región):
=MIEMBROCUBO("Ventas_Anuales"; "[Geografía].[País].[" & B1 & "]")
' Celda E1 (Valor de ventas):
=VALORCUBO("Ventas_Anuales"; "[Medidas].[Importe de Ventas]"; C1; D1)
Ahora, si el usuario cambia el valor de A1 o B1, la celda E1 se actualizará automáticamente con las ventas correspondientes al nuevo año o región, sin necesidad de actualizar una tabla dinámica.
Observaciones
Mientras VALORCUBO está recuperando los datos, la celda mostrará el texto «Obteniendo datos…». Este proceso puede tardar unos segundos dependiendo de la complejidad de la consulta y la velocidad del servidor OLAP.
Si se proporciona un miembro de tupla o conjunto como argumento, la función devolverá el valor agregado de esa tupla o conjunto.
Para que la función opere correctamente, el libro debe tener una conexión de datos establecida con un cubo OLAP. Estas conexiones se gestionan desde la pestaña Datos > Consultas y conexiones.
Errores comunes
- #N/A: Ocurre si:
- La sintaxis de `miembro_expresión` es incorrecta.
- El miembro especificado en la expresión MDX no existe en el cubo.
- La tupla especificada no es válida porque no existe una intersección para los miembros indicados.
- El conjunto contiene miembros con dimensiones diferentes.
- #¡NOMBRE?: Ocurre si el nombre de la `conexión` no coincide con ninguna conexión de datos válida en el libro de trabajo.
- #¡VALOR!: Se produce si un miembro de la tupla no es válido.
Disponibilidad por versión de Excel
La función VALORCUBO y el resto de funciones de cubo están disponibles en Microsoft Excel desde la versión Excel 2007.
Compatibilidad
| Software | Compatibilidad | Notas |
|---|---|---|
| Microsoft Excel | ✔️ | Funcionalidad completa en versiones para Windows con conexiones OLAP. |
| Google Sheets | ❌ | No tiene funciones nativas para conectarse a cubos OLAP. |
| LibreOffice Calc | ❌ | No soporta funciones de cubo de OLAP. |
| OpenOffice Calc | ❌ | No soporta funciones de cubo de OLAP. |
| WPS Office Spreadsheets | ❌ | No confirmado, pero es altamente improbable que soporte esta funcionalidad. |
| Apple Numbers | ❌ | No dispone de capacidades avanzadas de conexión a datos como OLAP. |
Funciones Relacionadas
- MIEMBROCUBO: Devuelve un miembro o una tupla de un cubo. Es muy útil para crear los argumentos de VALORCUBO de forma dinámica.
- CONJUNTOCUBO: Define un conjunto calculado de miembros o tuplas enviando una expresión de conjunto al cubo.
- PROPIEDADMIEMBROCUBO: Recupera el valor de una propiedad de un miembro del cubo.
- RECUENTOCONJUNTOCUBO: Devuelve el número de elementos en un conjunto.
- MIEMBRORANGOCUBO: Devuelve el n-ésimo miembro (o el miembro clasificado) de un conjunto.
- INFORMACIONCUBO: Devuelve metadatos sobre el cubo, sus miembros y sus propiedades.
