La función CUBEVALUE

Contenidos

El CUBEVALUE La función emplea la próxima sintaxis para operar:

CUBEVALUE (conexión, [member_expression1], [member_expression2],…)

El CUBEVALUE La función tiene los siguientes argumentos:

  • conexión: esto es obligatorio y representa una cadena de texto del nombre de la conexión al cubo
  • expresión_miembro: estos argumentos son opcionales. Cada uno es una cadena de texto de una expresión multidimensional (MDX) que se evalúa como un miembro o tupla dentro del cubo. Alternativamente, expresión_miembro puede ser un conjunto definido con el CUBESET función. Usar expresión_miembro como segmentación para establecer la parte del cubo para la que se devuelve el valor agregado. Si no se especifica ninguna medida en expresión_miembro, se utiliza la medida predeterminada para ese cubo.

Cabe señalar al mismo tiempo que:

  • la CUBEVALUE La función es compatible solo cuando el libro de trabajo está conectado a un Microsoft SQL Server 2005 Analysis Services o una fuente de datos posterior.
  • cuando el CUBEVALUE La función evalúa, muestra temporalmente un mensaje «# GETTING_DATA …» en la celda antes de que se recuperen todos los datos.
  • si se utiliza una referencia de celda para expresión_miembro y esa referencia de celda contiene un CUBO función, entonces expresión_miembro utiliza el MDX expresión para el elemento en la celda referenciada, y no el valor que se muestra en esa celda referenciada
  • si el nombre de la conexión no es una conexión de libro válida almacenada en el libro de trabajo, CUBEVALUE devuelve un #¿NOMBRE? valor de error. Si el servidor de procesamiento analítico en línea (OLAP) no se está ejecutando, no está habilitada o devuelve un mensaje de error, CUBEVALUE devuelve un #¿NOMBRE? valor de error
  • si al menos un elemento dentro de la tupla no es válido, CUBEVALUE devuelve un #¡VALOR! valor de error
  • CUBEVALUE devuelve un #N / A valor de error cuando:
    • la expresión_miembro la sintaxis es incorrecta
    • el miembro especificado por expresión_miembro no existe en el cubo
    • la tupla no es válida debido a que no hay intersección para los valores especificados (esto puede ocurrir con bastantes ítems de la misma jerarquía)
    • el conjunto contiene al menos un miembro con una dimensión distinto a los otros miembros
  • CUBEVALUE puede devolver un #N / A valor de error si hace referencia a un objeto basado en sesión, como un miembro calculado o un conjunto con nombre, en una tabla dinámica cuando se comparte una conexión, y esa tabla dinámica se elimina o convierte la tabla dinámica en fórmulas (en la pestaña ‘Opciones’ de la cinta , en el grupo ‘Herramientas’, haga clic en ‘Herramientas OLAP’ y después haga clic en ‘Convertir a fórmulas’).

Problema conocido: los valores nulos se convierten en cadenas de longitud cero

En Excel, si una celda no tiene datos debido a que nunca la cambió o eliminó el contenido, la celda contiene un valor vacío. En muchos sistemas de bases de datos, un valor vacío se denomina valor nulo. Un valor vacío o nulo significa literalmente «sin valor». A pesar de esto, una fórmula nunca puede devolver una cadena vacía o un valor nulo. Una fórmula siempre devuelve uno de tres valores: un valor numérico; un valor de texto (que puede ser una cadena de longitud cero) o un valor de error, como #NUM! o #¡VALOR!

Si una fórmula contiene un CUBEVALUE función conectada a una base de datos de procesamiento analítico en línea (OLAP) y una consulta a esta base de datos da como consecuencia un valor nulo, Excel convierte este valor nulo en una cadena de longitud cero, inclusive si la fórmula devolvería un valor numérico. Esto puede llevar a una situación en la que un rango de celdas contiene una combinación de valores de cadena numéricos y de longitud cero, y esta situación puede afectar los resultados de otras fórmulas que hacen referencia a ese rango de celdas. A modo de ejemplo, si A1 y A3 contienen números, y A2 contiene una fórmula con un CUBEVALUE función que devuelve una cadena de longitud cero, la próxima fórmula devolvería una #¡VALOR! error:

Para evitar esto, puede probar una cadena de longitud cero usando el ISTEXT función y usando la SI función para reemplazar la longitud cero con un 0 (cero) como muestra el siguiente ejemplo:

= SI (ESTEXTO (A1), 0, A1) + SI (ESTEXTO (A2), 0, A2) + SI (ESTEXTO (A3), 0, A3)

Alternativamente, puede anidar el CUBEVALUE funcionar en un SI condición que devuelve un valor cero si el CUBEVALUE La función se evalúa como una cadena de longitud cero, como muestra el siguiente ejemplo:

= SI (VALORCUBO («Ventas», «[Measures].[Profit]»,»[Time].[2020]»,»[All Product].[Beverages]») =» «, 0, CUBEVALUE (» Ventas «,»[Measures].[Profit]»,»[Time].[2020]»,»[All Product].[Beverages]»))

Tenga en cuenta que el SUMA La función no necesita esta prueba para una cadena de longitud cero debido a que ignora automáticamente las cadenas de longitud cero al calcular su valor de retorno.

Por favor, vea mis ejemplos a continuación:

= VALORCUBO («Ventas», «[Measures].[Profit]»,»[Time].[2020]»,»[All Product].[Beverages]»)

= VALORCUBO ($ A $ 1, «[Measures].[Profit]», D $ 12, $ A23)

= CUBEVALUE («Ventas», $ B $ 7, D $ 12, $ A23)

Pronto continuaremos con nuestras funciones de la A a la Z de Excel. Continúe revisando: hay una nueva publicación en el blog todos los días hábiles.

Suscribite a nuestro Newsletter

No te enviaremos correo SPAM. Lo odiamos tanto como tú.