Compartir a través de


Trabajar con valores vacíos

Un valor vacío indica que un miembro, tupla o celda específicos están vacíos. Una valor de celda vacío significa que no se han podido encontrar los datos de la celda indicada en la tabla de hechos subyacente, o bien que la tupla de la celda especificada representa una combinación de miembros no aplicable al cubo.

[!NOTA] Aunque un valor vacío es distinto del valor cero, el valor vacío suele tratarse como si fuera un cero la mayoría de las veces.

La siguiente información se aplica a los valores vacíos:

  • La función IsEmpty devuelve TRUE si y sólo si la celda indicada en la tupla especificada en la función está vacía. En caso contrario, la función devolverá el valor FALSE.

    [!NOTA] La función IsEmpty no puede determinar si un miembro está vacío. Para determinar si un miembro está vacío, utilice el operador IS.

  • Si el valor de la celda vacía es un operando correspondiente a cualquier de los operadores numéricos (+, -, *, /), el valor de la celda vacía se trata como si fuera un cero cuando el otro operando no es un valor no vacío. Si ambos operandos están vacíos, el operador numérico devuelve el valor de la celda vacía.

  • Si el valor de la celda vacía es un operando correspondiente al operador de concatenación de cadenas (+), el valor de la celda vacía se trata como si fuera una cadena vacía cuando el otro operando no es un valor vacío. Si ambos operandos están vacíos, el operador de concatenación de cadenas devuelve el valor de la celda vacía.

  • Si el valor de la celda vacía es un operando de uno de los operadores de comparación (=. <>, >=, <=, >, <), el valor de la celda vacía se trata como si fuera cero o una cadena vacía, según si el tipo de datos del otro operando es numérico o una cadena, respectivamente. Si ambos operandos están vacíos, los dos se tratan como cero.

  • Cuando se intercalan valores numéricos, el valor de la celda vacía se intercala en el mismo lugar que el cero. Entre el valor de la celda vacía y el cero, la celda vacía se intercala antes que el cero.

  • Cuando se intercalan valores de cadena, el valor de la celda vacía se intercala en el mismo lugar que la cadena vacía. Entre el valor de la celda vacía y la cadena vacía, el valor de la celda vacía se intercala antes que la cadena vacía.

Administrar valores vacíos de instrucciones MDX y cubos

En las instrucciones de expresiones multidimensionales (MDX) se pueden buscar valores vacíos para luego realizar determinados cálculos en las celdas con datos válidos (es decir, no vacías). La eliminación de los valores vacíos para realizar cálculos puede ser importante porque algunos cálculos (como los promedios) pueden ser incorrectos si se incluyen valores de celdas vacías.

Si desea almacenar valores vacíos en los datos de la tabla de hechos subyacente, pero no desea que los valores de las celdas vacías aparezcan en el cubo, debe crear consultas e instrucciones para la modificación de datos que eliminen los valores vacíos o fusionen los valores vacíos con otros. También puede utilizar la opción Null Processing en una medida para modificar los hechos NULL, de forma que el valor NULL se convierta en 0, en un valor vacío o incluso que genere un error durante el procesamiento.

Valores vacíos y operadores de comparación

Cuando hay valores vacíos en los datos, los operadores lógicos y de comparación pueden devolver un tercer resultado EMPTY en lugar de simplemente TRUE o FALSE. Esta necesidad de una lógica de tres valores es el origen de muchos errores de la aplicación. En estas tablas se destaca el efecto que supone escribir comparaciones con valores vacíos.

En la siguiente tabla se muestra el resultado de aplicar un operador AND a dos operandos booleanos.

AND TRUE EMPTY FALSE

TRUE

TRUE

FALSE

FALSE

EMPTY

FALSE

EMPTY

FALSE

FALSE

FALSE

FALSE

FALSE

En la siguiente tabla se muestra el resultado de aplicar un operador OR a dos operandos booleanos.

OR TRUE FALSE

TRUE

TRUE

TRUE

EMPTY

TRUE

TRUE

FALSE

TRUE

FALSE

En esta tabla se muestra cómo el operador NOT niega, o invierte, el resultado de un operador booleano.

Expresión booleana a la que se aplica el operador NOT Se evalúa como

TRUE

FALSE

EMPTY

EMPTY

FALSE

TRUE

Vea también

Referencia

Referencia de funciones MDX (MDX)
Referencia de operadores de MDX (MDX)

Conceptos

Expresiones (MDX)

Otros recursos

Definir y configurar el uso de dimensiones y las relaciones entre dimensiones
Lección 5: Definir relaciones entre dimensiones y grupos de medida

Ayuda e información

Obtener ayuda sobre SQL Server 2005