COALESCE

La función COALESCE recibe como argumentos dos o más expresiones y devuelve el resultado de la primera que no devuelva un BLANK.

Sintaxis

COALESCE(
    expression,
    expression
    [, expression]…
)

Parámetros
  • expression: Expresiones a evaluar.
Valor devuelto

La función COALESCE devuelve un escalar.

Información adicional

Las expresiones son evaluadas de izquierda a derecha, devolviéndose la primera expresión cuya evaluación no devuelva un BLANK. Si todas las expresiones devuelven un BLANK, la función también devolverá este valor.

Las expresiones a evaluar pueden devolver datos de distinto tipo.

Ejemplos

En este ejemplo, se añaden como argumentos la función BLANK y varios escalares, devolviéndose el primer argumento encontrado que no devuelve un BLANK ("A"):

resultado = COALESCE(BLANK(), "A", BLANK(), "B")

Función COALESCE

En este segundo ejemplo, partimos de la siguiente tabla de datos:

Tabla de datos

...tabla que llevamos a un objeto visual tipo "tabla" (que permite la selección de un valor haciendo clic en él, lo que provoca la selección de la fila completa) y definimos la siguiente medida:

Selección = 
    COALESCE(
        SELECTEDVALUE(data[Código]),
        SELECTEDVALUE(data[Cantidad]),
        SELECTEDVALUE(data[Precio])
    )

Si llevamos esta expresión al lienzo con formato de tarjeta y no realizamos ninguna selección en la tabla, el resultado es el siguiente:

Función COALESCE

La medida devuelve un BLANK pues no hay valores seleccionados en ninguno de los tres campos. Pero si seleccionamos uno de los valores "A" de la columna Código:

Función COALESCE

...la expresión devuelve este valor (primer argumento de la función COALESCE).

Si ahora seleccionamos uno de los valores de la columna Cantidad para los que la columna Código no incluye un valor (por ejemplo, el valor 2 de la segunda fila), el resultado es el siguiente:

Función COALESCE

En este caso la función ha evaluado el primer argumento (que devuelve el valor seleccionado en la columna Código) obteniendo un BLANK, de forma que ha evaluado el segundo argumento (valor seleccionado en la columna Cantidad) obteniendo un valor de 2, no nulo, y devolviéndose por tanto como resultado de la medida.

Por último, si seleccionamos el valor 4,00 de la primera fila (registro para el que no hay ningún valor ni en la columna Código ni en Cantidad), la función devuelve el valor 4,00:

Función COALESCE

Esta función puede ser usada para convertir posibles valores nulos en, por ejemplo, un cero. Supongamos la siguiente medida que suma las ventas realizadas:

Ventas = SUM(Sales[Amount])

Si el contexto llega a reducir la tabla de ventas hasta el punto en el que no haya valores a sumar, la anterior medida devolverá un BLANK, lo que puede no ser lo deseado:

Suma de ventas

Podemos, sin embargo, "proteger" la función para que devuelva siempre un valor numérico con la función COALESCE:

Ventas = COALESCE(SUM(Sales[Amount]), 0)

Función COALESCE
Categoría
Lógicas
Enviado por admin el Lun, 16/03/2020 - 09:08