Creación de una función de limpieza de texto personalizada en Power Query

Creación de una función de limpieza de texto personalizada en Power Query

En esta publicación de blog, veremos más de cerca una función personalizada para la limpieza de texto que creé para nuestra serie en curso en LuckyTemplates TV llamada . Puede ver el video completo de este tutorial en la parte inferior de este blog.

Para la semana 2, tenemos algunos datos desordenados que necesitan limpieza. Nuestro objetivo aquí es limpiar todos los valores de texto en ambas columnas.

Para esta tarea, creé una función de texto limpio.

Creación de una función de limpieza de texto personalizada en Power Query

Pero primero, echemos un vistazo rápido al código M.

Creación de una función de limpieza de texto personalizada en Power Query

Esta función toma un parámetro llamado myText. Su valor debe ser de tipo texto y la función debe devolver un valor de texto porque no todas las variables enumeradas a continuación devolverán un valor de texto.

Creación de una función de limpieza de texto personalizada en Power Query

Declarar el tipo de devolución dará como resultado un error. Para evitar que ocurra ese error, puedo comentarlo por ahora.

Creación de una función de limpieza de texto personalizada en Power Query

Si queremos ver qué devuelve la primera variable, todo lo que tenemos que hacer es referirnos a ella por su nombre, después de la cláusula in. Así que voy a copiar la variable ParaEliminar, pegarla en la línea inferior y presionar Aceptar.

Creación de una función de limpieza de texto personalizada en Power Query

Para ver el resultado de esa función, tenemos que invocarla. Así que agreguemos una columna personalizada a esta consulta.

Creación de una función de limpieza de texto personalizada en Power Query

Luego invoque nuestra función, seleccione esta columna combinada y presione Aceptar.

Creación de una función de limpieza de texto personalizada en Power Query

Tabla de contenido

Crear las listas a partir de una consulta en blanco

Ahora vemos que el paso ToRemove crea una lista. De hecho, es una combinación de dos listas.

La primera lista creó los signos de comillas y la segunda lista es un rango de caracteres que quería eliminar.

Creación de una función de limpieza de texto personalizada en Power Query

¿Cómo creé esta lista?

Bueno, utilicé una función llamada Txt.ToList.

Puede acceder a la documentación de la función interna creando una consulta en blanco, ingresando el nombre de la función sin los paréntesis y luego presionando Enter.

Creación de una función de limpieza de texto personalizada en Power Query

Vemos que Text.ToList devuelve una lista de valores de caracteres de un valor de texto dado.

Peguemos algunos textos e invoquemos esta función.

Creación de una función de limpieza de texto personalizada en Power Query

Crea una nueva consulta y puede ver que esta lista contiene todas las letras que vemos aquí en el texto.

Creación de una función de limpieza de texto personalizada en Power Query

Recuerda que agregué una lista adicional, ¿verdad? Combiné dos listas y usé el ampersand para hacer eso.

Vamos a recrear eso ahora. Usé el ampersand y el inicializador de lista, luego ingresé esos signos de comillas.

Creación de una función de limpieza de texto personalizada en Power Query

Ahora vemos que las citas se han agregado a esta lista, pero ¿por qué creé una lista?

Creación de una función de limpieza de texto personalizada en Power Query

Bueno, en el siguiente paso de mi función de limpieza de texto, usé una función M llamada Texto. Eliminar.

Creación de una función de limpieza de texto personalizada en Power Query

Y verá que puede ingresar un texto y luego una lista de caracteres que desea eliminar de esa cadena.

Creación de una función de limpieza de texto personalizada en Power Query

Volvamos a nuestra función de limpieza de texto.

Creación de una función de limpieza de texto personalizada en Power Query

A. Remove creó estas dos listas y luego las combinó en una sola lista.

Creación de una función de limpieza de texto personalizada en Power Query

Y luego peguemos la variable CleanText. La cláusula 'in' llama a la función M Text.Remove y pasa la variable myText, y luego llama a la lista To.Remove. Veamos qué hace esto.

Creación de una función de limpieza de texto personalizada en Power Query

Volvamos a nuestra consulta. Esto ya no devuelve una lista, pero devuelve algunos valores de texto.

Creación de una función de limpieza de texto personalizada en Power Query

Recortar en Power Query

El siguiente paso es recortar . Como puede ver en la imagen de arriba, tenemos algunos espacios adicionales y una coma al final de la que queremos deshacernos. Para ello, podemos utilizar las funciones de recorte. Volvamos a query para examinar el código M.

En el código M, anidé 2 funciones de recorte. La primera función de cadena elimina los espacios adicionales al principio y al final de nuestra variable CleanText.

Creación de una función de limpieza de texto personalizada en Power Query

Para los textos restantes que tenemos, también eliminaremos los espacios de la cadena de resultados.

También vamos a eliminar la coma final.

Creación de una función de limpieza de texto personalizada en Power Query

Veamos el resultado. Voy a copiar el nombre de la variable, pegarlo después de la cláusula 'in' y hacer clic en Listo. Cuando actualizamos nuestra consulta, puede ver que los espacios adicionales se han ido y la coma final se ha eliminado.

Creación de una función de limpieza de texto personalizada en Power Query

En los pasos finales de mi consulta, simplemente reemplacé algunos valores de texto.

Creación de una función de limpieza de texto personalizada en Power Query

En el último caso, reemplacé ese guión bajo por un espacio. Copiémoslo y peguémoslo después de la cláusula 'in'. También habilité el tipo de devolución nuevamente.

Creación de una función de limpieza de texto personalizada en Power Query

Volvamos a nuestra consulta y examinemos los resultados: ¡hasta ahora todo bien!

Creación de una función de limpieza de texto personalizada en Power Query

Ahora, no queremos crear nuevas columnas para invocar nuestra función, ¿verdad? Lo que podemos hacer es transformar nuestra columna 1 en nuestra columna de combinación.

Voy a eliminar este paso de columna personalizada.

Creación de una función de limpieza de texto personalizada en Power Query

Luego usaré la interfaz de usuario para crear la mayor parte del código para nosotros. En la pestaña de transformación, seleccione ambas columnas, vaya a Formato y seleccione una función.

Creación de una función de limpieza de texto personalizada en Power Query

Realmente no importa qué función se seleccione porque este es el código M generado por la interfaz de usuario. Ahora podemos reemplazar ese Texto. Función inferior…

Creación de una función de limpieza de texto personalizada en Power Query

… con nuestra función de texto limpio. Con suerte, estás entendiendo por qué tuve que agregar fx al frente. No hay 'en función' que comience con eso.

Creación de una función de limpieza de texto personalizada en Power Query

Cuando presionamos OK, puede ver que nuestros textos han sido limpiados. esto es genial

Creación de una función de limpieza de texto personalizada en Power Query

Conclusión

¿Por qué tuvimos que tomarnos todas las molestias para crear una función de limpieza personalizada? Bueno, si es probable que tenga que repetir este paso o usar una lógica similar en el futuro, puede almacenar esta consulta de función.

Al hacerlo, acelerará el desarrollo de la consulta en una etapa posterior. Otra buena razón es porque también es divertido de hacer.

Espero que hayas disfrutado este tutorial. Si lo hizo, no olvide suscribirse al canal LuckyTemplates .

Toronjil


Time Intelligence en LuckyTemplates: cómo calcular el número de transacciones realizadas en los últimos N días

Time Intelligence en LuckyTemplates: cómo calcular el número de transacciones realizadas en los últimos N días

Descubra cómo calcular el total de transacciones realizadas en los últimos N días y obtenga información útil utilizando la inteligencia de tiempo en LuckyTemplates.

Cómo evaluar clústeres en sus datos mediante la técnica DAX en LuckyTemplates

Cómo evaluar clústeres en sus datos mediante la técnica DAX en LuckyTemplates

En este tutorial, demuestro cómo mostrar clústeres en sus datos permite extraer información valiosa usando técnicas DAX avanzadas.

¿Cuánto personal tenemos actualmente? Lógica de fechas múltiples en LuckyTemplates usando DAX

¿Cuánto personal tenemos actualmente? Lógica de fechas múltiples en LuckyTemplates usando DAX

En este tutorial, aprenderá a calcular la <strong>población actual del personal</strong> para las relaciones múltiples de la tabla de calendario mediante la función COUNTROWS y FILTER en LuckyTemplates.

Hacer una solicitud HTTP en Power Automate

Hacer una solicitud HTTP en Power Automate

Aprenda a crear una solicitud HTTP con Power Automate y cómo implementar soluciones efectivas para la automatización de tareas.

Programe un flujo de escritorio para que se ejecute en Power Automate

Programe un flujo de escritorio para que se ejecute en Power Automate

En este tutorial, aprenda cómo programar un flujo de escritorio en Power Automate para automatizar tareas en la web y su escritorio.

Power Automate Terminar Control de acción en flujos

Power Automate Terminar Control de acción en flujos

Aprenda a usar correctamente el control Terminar acción de Power Automate que termina las acciones en un flujo si no se cumple alguna de las condiciones.

Power Query: combinar archivos de varias carpetas

Power Query: combinar archivos de varias carpetas

Aprenda a combinar archivos de varias carpetas en su red, escritorio, OneDrive o SharePoint utilizando Power Query.

Tipos de flujo de Power Automate y cuándo usarlos

Tipos de flujo de Power Automate y cuándo usarlos

En este blog, analizamos las similitudes y diferencias entre los tipos de flujo de Power Automate y determinamos cuándo usar cada flujo. Encuentra la mejor opción de automatización.

Conectores de Power Automate: número, texto y fecha y hora

Conectores de Power Automate: número, texto y fecha y hora

Familiarízate con algunos conectores Power Automate integrados que transforman cadenas en otro formato: número, texto y fecha y hora.

Tutorial del analizador VertiPaq: relaciones e integridad referencial

Tutorial del analizador VertiPaq: relaciones e integridad referencial

Este tutorial detallado sobre el analizador VertiPaq en DAX Studio le enseñará cómo usar la pestaña Relaciones para optimizar su DAX y resolver problemas de integridad referencial.