En este tutorial vamos a ver cómo trabajar con funciones dentro de Power Query.
Todas las transformaciones o pasos que realizamos en cualquier consulta se guardan en el lenguaje de fórmulas M, que es un lenguaje funcional que distingue mayúsculas de minúsculas.
Video
Tutorial paso a paso
Tenemos una tabla llamada Table1 que cuenta con un encabezado String y textos y números mezclados. Tenemos tanto textos en mayúscula como minúscula.
Ejemplo 1 – Extraer las palabras minúsculas de un texto
En un primer ejemplo vamos a ver como seleccionar textos en minúsculas.
Para ello cargamos desde Datos, Obtener y transformar Datos, Desde una tabla o Rango, la tabla al editor de Power Query.
Vamos al menú de Agregar columna – Columna personalizada. Vamos a asignar un nombre a la columna, por ejemplo, SelTextosMinúsculas y en la fórmula que vamos a escribir vamos a utilizar Text.Select.
Del texto que va a ser nuestro String y abrimos una llave para generar una lista y escribimos “a”..”z” (en minúsculas). En definitiva, la fórmula sería Text.Select([String], {“a”..”z”}). Power Query discrimina mayúsculas y minúsculas. Cerramos la llave y el paréntesis. Nos cercioramos en la parte inferior que no se hayan detectado errores en la sintáxis.
Eliminamos la columna String.
Cargamos la columna a Excel, desde Inicio, Cerrar y cargar, Cerrar y cargar en, la cargamos en la celda C1 de nuestra hoja de cálculo existente.
Si hubiéramos querido recuperar las letras con mayúscula habría que haber dicho “A”..”Z”.
Ejemplo 2 – Extraer los números de un texto
En el siguiente ejemplo vamos a ver cómo seleccionar los números de nuestro String.
Cargamos nuestra tabla al editor de Power Query. Datos – Obtener y Transformar Datos. Menú de Agregar Columna – Columna personalizada. Como nombre de la nueva columna escribimos SeleccionarNúmeros.
La fórmula de la columna personalizada va a ser Text.Select([String], {“0”..”9”}) Los dos puntos significa el intervalo que vamos a seleccionar, en este caso, desde 0 hasta 9, es decir, todos los números.
Se recuperan los números, pero los graba a la izquierda, los está recuperando almacenados como texto.
Vamos a pasar a tipo de datos Número Entero y vemos que los números se desplazan a la parte derecha de la celda.
Esa extracción ha sido correcta. Eliminamos la columna de String, clic derecho Quitar. Cargamos nuestra consulta con Inicio – Cerrar y cargar – Cerrar y cargar en, a nuestra hoja de cálculo existente, por ejemplo, a la celda E1.
Ejemplo 3 – Extraer todas las palabras de un texto
Un último ejemplo. Lo que vamos a hacer ahora es eliminar números.
Cargamos nuestra tabla con Datos – Obtener y Transformar Datos, al editor de Power Query. Agregar columna – Columna personalizada, el nombre de la columna será EliminarNúmeros. La fórmula utilizará la función Text.Remove. En concreto será Text.Remove([String], {“0”..”9”}) Se eliminan los números, dejando los caracteres tanto en mayúsculas como en minúsculas.
Eliminamos la columna de String y cargamos la consulta en Excel. Inicio – Cerrar y Cargar – Cerrar y cargar en – Cargamos la consulta en la celda G1.
Si se produjera alguna actualización de nuestros datos iniciales habría que actualizar las consultas con Clic derecho – Actualizar.