top of page

Funciones de texto.

Vamos a ver la función Text.Select, la sintaxis de esta función es text, que es el texto con el que vamos a trabajar, y, selectchars, que son los caracteres que queremos que aparezcan dentro del texto seleccionado, ignorando el resto de los caracteres.


Sintaxis

Text.Select(text as nullable text, selectChars as any) as nullable text


Bien, tenemos los siguientes datos en formato de tabla.












Vemos que cada texto contiene letras y números, con una celda dentro del modelo, vamos a la pestaña datos, dentro del grupo obtener y transformar, hacemos clic en de una tabla o rango, para llevarnos el modelo a Power Query.












Vamos a agregar una columna personalizada, para ello, vamos a la pestaña de agregar columna, y, hacemos clic en columna personalizada.







Como nombre le voy a poner, pruebas.








Por ejemplo, quiero que aparezcan los textos que contengan la letra “a”, para ello, en la ventana formula de columna personalizada, ponemos la función Text.Select, abrimos un paréntesis, seleccionamos la columna texto dentro de columnas disponibles, es el argumento text, coma, ahora viene el argumento selectcharts, pues, entre comillas dobles, ponemos la letra “a”, cerramos paréntesis.















Podemos ver en la parte inferior, que no se han detectado errores.





Aceptamos.


Vemos en la columna agregada, que solo aparecen las filas que contienen la letra “a”, el resto de los caracteres han sido ignorados.


La letra “a”, solo la contiene la primera fila.







Si quiero ver las cadenas que contienen la letra “a”, o, “b”, vamos a pasos aplicados, en el paso personalizada agregada, hacemos clic en la rueda dentada.







Se abre la ventana de columna personalizada, vamos a la función, y, entre llaves, ponemos la letra “a”, y, la letra “b”, entre comillas dobles.













Aceptamos, y, vemos las cadenas que contienen la letra “a”, y, “b”, siendo ignorado el resto de los caracteres.







Pero, ahora quiero extraer los caracteres desde la letra “a” a la letra “z”, volvemos a la ventana de columna personalizada, en este caso, en vez de coma como separador, debemos de poner un punto, seguido de otro punto (..).













Aceptamos, y, vemos que nos ha extraído los caracteres desde la “a” a la “z”, de todas las filas.


Pero, debemos de fijarnos que no incluye las letras mayúsculas, y quiero tanto las minúsculas, como las mayúsculas, para ello, volvemos a la ventana de columna personalizada, después de la letra “z”, ponemos una coma, entre comillas dobles, ponemos A, ponemos un punto seguido de otro punto, y, entre comillas dobles, ponemos la letra Z.












Aceptamos, y, ahora tenemos las filas que contienen tanto las letras minúsculas como mayúsculas.







Y, si quiero que contenga también el número 1, pues después de la letra Z, volvemos a poner coma, y, ponemos el número 1.













Aceptamos.







Tenemos una función que hace lo contrario, es decir, quita los caracteres que le indiquemos, dejando el resto, esta función se llama Text.Remove, y, tiene la misma sintaxis que Text.Select, pero el argumento selectcharts, se llama removecharts.


Siguiendo con el modelo anterior, quiero dejar solo los números, voy a agregar una columna personalizada, la llamare solo números.


Con la siguiente sintaxis, me va a devolver los caracteres de cada fila, excepto, la letra “a”.



















Como queremos solo números, igual que antes ponemos desde la letra “a” hasta la letra “z”.














Vemos que nos devuelve solo los números, excepto, en la ultima fila por que son letras en mayúsculas.







Pues, hacemos lo mismo que antes.














Y ya lo tenemos.







Ponemos ambas columnas en formato de texto.


Tenemos una función llamada Text.Replace, que sustituye un carácter, o, un texto, por otro carácter, o, texto, por ejemplo, tenemos los siguientes datos en Power Query.


El primer argumento es texto (text), que es el texto con el que vamos a trabajar, el siguiente argumento es texto antiguo (old), el que vamos a reemplazar, y, el ultimo argumento es texto nuevo (new), el texto por el que va a ser sustituido.


Sintaxis

Text.Replace(text as nullable text, old as text, new as text) as nullable text


Tenemos el siguiente modelo en Power Query.








Estas cadenas están en formato de texto, queremos sustituir el numero 1 por el numero 6, para ello, agregamos una columna personalizada, como nombre le voy a poner numero 1 por 6, en la ventana de formula de columna personalizada, ponemos la función Text.Replace, abrimos paréntesis, como argumento texto, seleccionamos la columna números, como argumento texto antiguo (old), ponemos uno entre comillas dobles, coma, como argumento texto nuevo (new), ponemos el numero seis entre comillas dobles, cerramos paréntesis, y, aceptamos.














Vemos como el numero 1 ha sido sustituido por el número 6.







Ponemos la columna en formato de texto.


Ahora, tenemos el siguiente modelo.


















Vamos a sustituir la provincia de Sevilla por la palabra Ninguna.


Agregamos una columna personalizada, la voy a llamar ninguna, en la ventana de formula, ponemos la función Text.Repalce, abrimos un paréntesis, como argumento texto (text), seleccionamos la columna de provincias, como argumento texto antiguo (old), entre comillas dobles, ponemos Sevilla, coma, como argumento texto nuevo (new), entre comillas dobles, ponemos Ninguna, cerramos paréntesis, y, aceptamos.














Vemos que donde ponía Sevilla, ahora pone Ninguna.



















Ponemos la columna en formato de texto.


Ahora, tenemos un modelo donde en cada fila, tenemos una provincia, un centro comercial, y, un producto.
























Queremos separar estas cadenas en columnas independientes, para ello, tenemos una función llamada Text.Split, cuyo primer argumento es texto, es decir, el texto que vamos a separar, y, el siguiente argumento es delimitador, es decir, cual es el delimitador que separa cada cadena, debe de ir entre comillas dobles.


Nos devolverá una lista.


Text.Split(text as text, separator as text) as list


Agregamos una columna personalizada, la llamare separar texto, y, en la ventana de formula, ponemos la función Text.Split, abrimos un paréntesis, como argumento texto, seleccionamos la columna varios, coma, como argumento delimitador, entre comillas dobles, ponemos la coma, cerramos paréntesis, y, aceptamos.












Aparece una columna con list.








Hacemos clic en el siguiente icono.











Seleccionamos expandir en nuevas filas.









Ya tenemos separadas las cadenas, pero como cada cadena, que contienen tres cadenas (provincia, centro, producto), ahora aparecen tres veces, una vez por cada cadena separada.











La ponemos en formato de texto.


Tenemos otra función que nos devuelve cada letra que esta compuesta una cadena, por ejemplo, tenemos la siguiente cadena.








Esta función se llama Text.ToList, solo tiene un argumento que es la cadena para separar.

Agregamos una columna personalizada, como nombre le pongo extraer, en la ventana de formula, ponemos la función, y, seleccionamos la Columna1.












Aceptamos, aparece una columna con list.


Hacemos clic en el siguiente icono.





Seleccionamos expandir en nuevas filas.






Vemos cada letra de la cadena.

















Ahora, vamos a sustituir la letra M de Mundo por “m”, para ello, agregamos una nueva columna personalizada, como nombre le pongo M por m, y, en la ventana de formula, ponemos la función Text.Replace, abrimos un paréntesis, seleccionamos la columna extraer, coma, ponemos entre comillas dobles “M”, coma, ponemos entre comillas dobles “m”, cerramos paréntesis, y, aceptamos.













Vemos en la nueva columna la letra M de mundo, ahora, en minúscula.



















Ponemos las columnas en formato de texto.


Tenemos otra función que nos quita los espacios en blanco sobrantes del principio, y, del final, esta función se llama Text.Trim, y, tiene un único argumento que es la columna con la que vamos a trabajar.


Tenemos las siguientes cadenas, son los mismos nombres, pero la primera cadena, tiene espacios sobrantes al principio, y, al final, también, tenemos la longitud.





Miguel Angel, tiene una longitud de 12 caracteres, pero la primera cadena al tener espacios en blanco de más tiene una longitud de 16 caracteres.


Agregamos una columna personalizada, le dejo el nombre predeterminado, en la ventana de formula, ponemos la función, abrimos un paréntesis, seleccionamos la columna nombre, cerramos paréntesis, y, aceptamos.














Vemos como ahora las dos cadenas son iguales.






Tenemos la funcion Text.TrimEnd, que quita los espacios en blanco finales, y, Text.TrimStart, que quita los espacios en blanco iniciales.



44 visualizaciones0 comentarios

Entradas recientes

Ver todo

© 2019 Miguel Ángel Franco García

bottom of page