Tiempo atrás, en un par de artículos del blog, expuse algunas maneras de recuperar información de una cadena de texto, la cual no seguía un patrón claro a la hora de la 'extracción' de caracteres.
Ver post1 y post2
Te recomiendo les eches un vistazo... ;-)
En el día de hoy emplearemos una herramienta muy potente para conseguir similares resultados, sin duda muy potente y versátil: Agregar columna a partir de los ejemplos
Esta herramienta trabaja de forma casi idéntica al Relleno rápido en la hoja de cálculo.
Iniciaremos a partir de un listado de alfanuméricos, de los cuales necesitamos separar la primera parte de dichas cadenas que sean caracteres de texto:
Como siempre, en un primer paso Cargaremos la Tabla de datos en el Editor de consultas de Power Query.
Una vez cargados los datos, y dentro del Editor de consultas, accederemos a la Ficha Agregar columna > grupo General > botón Columna a partir de los ejemplo
Seleccionaremos la columna a tratar y elegiremos la opción del botón desplegable: A partir de la selección.
esto abrirá el Asistente, con una columna 'personalizada' donde iremos completando cuantos elementos sean necesarios hasta visualizar los elementos como necesitáramos.
Por ejemplo, para el primer elemento (A1234PQ) escribimos una A, y el asistente propone como regla o patrón: caracteres por la izquierda hasta el '1'.
Como el resultado no es el esperado completaremos el segundo elemento (MX51234R) con MX, proponiendo como regla para mis datos: eliminar caracteres del 1 al 5 y de la P a la R
Seguimos lejos del resultado buscado.
Así que informamos para el tercer elemento(MS612345AB) con un MS, lo que marca una regla un poco compleja a base de separadores... que en cualquier caso no responde a nuestro objetivo.
Seguimos con el proceso...
ciertamente podrías pensar que para hacer elemento a elemento no necesitamos Power Query, pero piensa en un listado de 50.000 registros con elementos sin un patrón claro.
Repetimos el proceso una vez más para el quinto elemento (OPA7123456VW) donde indicamos como respuesta OPA... y las propuestas restantes sí parecen responder a lo que queremos.
Aceptamos la fórmula propuesta. Podemos verla desde el Editor avanzado:
Cargamos y cerramos la consulta y la llevamos a la hoja de cálculo, viendo el resultado.
Además, al añadir nuevos elementos comprobamos cómo el funcionamiento de ésta consulta es correcto.
Al fin y al cabo el asistente, con nuestras pistas ha sido de encontrar la regla, patrón o pauta deseada para devolvernos los caracteres hasta el primer caracter numérico.
De forma similar podríamos obtener la parte final, o la parte numérica intermedia.
Ver post1 y post2
Te recomiendo les eches un vistazo... ;-)
En el día de hoy emplearemos una herramienta muy potente para conseguir similares resultados, sin duda muy potente y versátil: Agregar columna a partir de los ejemplos
Esta herramienta trabaja de forma casi idéntica al Relleno rápido en la hoja de cálculo.
Iniciaremos a partir de un listado de alfanuméricos, de los cuales necesitamos separar la primera parte de dichas cadenas que sean caracteres de texto:
Como siempre, en un primer paso Cargaremos la Tabla de datos en el Editor de consultas de Power Query.
Una vez cargados los datos, y dentro del Editor de consultas, accederemos a la Ficha Agregar columna > grupo General > botón Columna a partir de los ejemplo
Seleccionaremos la columna a tratar y elegiremos la opción del botón desplegable: A partir de la selección.
esto abrirá el Asistente, con una columna 'personalizada' donde iremos completando cuantos elementos sean necesarios hasta visualizar los elementos como necesitáramos.
Por ejemplo, para el primer elemento (A1234PQ) escribimos una A, y el asistente propone como regla o patrón: caracteres por la izquierda hasta el '1'.
Como el resultado no es el esperado completaremos el segundo elemento (MX51234R) con MX, proponiendo como regla para mis datos: eliminar caracteres del 1 al 5 y de la P a la R
Seguimos lejos del resultado buscado.
Así que informamos para el tercer elemento(MS612345AB) con un MS, lo que marca una regla un poco compleja a base de separadores... que en cualquier caso no responde a nuestro objetivo.
Seguimos con el proceso...
ciertamente podrías pensar que para hacer elemento a elemento no necesitamos Power Query, pero piensa en un listado de 50.000 registros con elementos sin un patrón claro.
Repetimos el proceso una vez más para el quinto elemento (OPA7123456VW) donde indicamos como respuesta OPA... y las propuestas restantes sí parecen responder a lo que queremos.
Aceptamos la fórmula propuesta. Podemos verla desde el Editor avanzado:
let Origen = Excel.CurrentWorkbook(){[Name="Tabla1"]}[Content], #"Tipo cambiado" = Table.TransformColumnTypes(Origen,{{"datos", type text}}), #"Added Custom Column" = Table.AddColumn(#"Tipo cambiado", "Personalizado", each let splitdatos = Splitter.SplitTextByCharacterTransition((c) => not List.Contains({"0".."9"}, c), {"0".."9"})([datos]) in splitdatos{0}?, type text) in #"Added Custom Column"
Cargamos y cerramos la consulta y la llevamos a la hoja de cálculo, viendo el resultado.
Además, al añadir nuevos elementos comprobamos cómo el funcionamiento de ésta consulta es correcto.
Al fin y al cabo el asistente, con nuestras pistas ha sido de encontrar la regla, patrón o pauta deseada para devolvernos los caracteres hasta el primer caracter numérico.
De forma similar podríamos obtener la parte final, o la parte numérica intermedia.
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.