El operador COALESCE se representa con un signo de interrogación doble ( ?? ). Este operador funciona de manera similar al operador o en Python o la función predeterminada en . Devuelve el primer operando si existe y no es nulo, y de lo contrario devuelve el segundo operando.
El primer problema trata de la sustitución condicional de valores. Por ejemplo, si la columna dos contiene un valor nulo, el resultado debería devolver el valor de la columna uno. De lo contrario, la columna conservará el valor de la columna 2.
Excel BI ofrece desafíos diarios para Excel y Power Query . Pero en la mayoría de los casos, los desafíos de Excel también se pueden resolver con Power Query. El objetivo del segundo ejemplo es filtrar todas las cadenas que no constan de dos palabras.
Ejemplo #1: Reemplazar valores usando el operador COALESCE
Abra el Editor de consultas. Asegúrese de que los paneles Barra de fórmulas y Configuración de consultas estén visibles. De lo contrario, vaya a la pestaña Ver y cambie la configuración de Diseño .
En el primer ejemplo, se utiliza una tabla que contiene dos columnas.
Seleccione la Columna 2 y vaya a la pestaña Transformar. Luego, haga clic en la opción Reemplazar valores .
En el asistente Reemplazar valores , no realice ningún cambio y presione Aceptar .
Esto generará la sintaxis que necesita. Todo lo que queda por hacer es actualizar el código en la barra de fórmulas para mostrar los cambios que desea.
En este caso, el código debe buscar un valor nulo. Si la Columna 2 contiene un valor nulo, será reemplazado por el valor de la Columna 1.
Una vez que haya terminado de actualizar el código, haga clic en la marca de verificación junto a la barra de fórmulas.
Esta es una de las formas de reemplazar condicionalmente valores nulos en su tabla. Sin embargo, hay un método más simple que puede usar, y es usando el operador COALESCE en el lenguaje M.
Uso del operador COALESCE
El operador COALESCE se representa con un signo de interrogación doble ( ?? ).
Puede usar COALESCE cuando prueba condicionalmente valores nulos.
Para usar el operador COALESCE, primero debe copiar la sintaxis del ejemplo anterior y luego hacer clic en la pestaña fx que se encuentra en el lado izquierdo de la barra de fórmulas. Esto crea un nuevo paso en la consulta.
Pegue la sintaxis y luego actualícela usando el operador COALESCE. Entonces, en lugar de usar la declaración If Then Else , coloque el doble signo de interrogación entre la Columna 2 y la Columna 1.
Cuando la Columna 2 no devuelve un valor nulo, obtendrá el valor de la misma columna. Pero cuando devuelve un valor nulo, obtendrá el valor de la Columna 1.
Ejemplo #2: Aplicar filtros condicionales
En el segundo ejemplo, el objetivo es filtrar los datos que no constan de dos palabras.
Haga clic en la opción de filtro en su tabla y seleccione un filtro aleatorio. Esto hará que Power Query genere una sintaxis de código M.
A continuación, actualice la sintaxis para filtrar una cadena que no consta de dos palabras. Dado que dos palabras generalmente están separadas por espacios, debe usar el comando Text.Split . Luego, debe colocarlo dentro de una función List.Count para que el resultado devuelva una lista de valores.
Una vez hecho esto, haga clic en la marca de verificación junto a la barra de fórmulas. En la tabla resultante, puede ver que contiene cadenas con dos palabras. Sin embargo, hay un error en la última fila.
Aparece un error porque el código encontró un valor nulo dentro del conjunto de datos. Para evitar que ocurran errores como estos, debe usar el operador COALESCE.
Entonces, dentro del argumento Text.Split , coloque el ?? después del valor Nombre y luego especifique lo que aparece en la tabla si se encuentra un valor nulo.
Conclusión
En este tutorial, ha visto dos ejemplos prácticos en los que se puede implementar el operador COALESCE en lugar de una declaración If Then Else o una construcción Try else.
El operador COALESCE es una herramienta útil para proporcionar un valor predeterminado para una variable que puede ser nula o tener otro valor predeterminado. A menudo se usa para evitar excepciones de referencias nulas o para proporcionar un valor predeterminado cuando se trabaja con datos que pueden faltar o estar incompletos.