Uso del editor avanzado de Power Query para extraer valores antes de un texto específico

Uso del editor avanzado de Power Query para extraer valores antes de un texto específico

Para este tutorial, demostraré cómo puede extraer valores antes de cada aparición de un texto específico usando Power Query Advanced Editor. Hay muchas maneras de lograr esto, pero pensé que sería divertido mostrar una solución que esté completamente codificada. Puedes ver el video completo de este tutorial al final de este blog.

Un miembro del publicó este escenario a continuación. La solución completamente codificada que voy a demostrar es más avanzada, pero la dividiré en partes muy pequeñas para que podamos examinar los resultados de cada paso individual.

Uso del editor avanzado de Power Query para extraer valores antes de un texto específico

Tabla de contenido

Uso del editor avanzado de Power Query y las funciones M

Crearé una referencia de la consulta de muestra y agregaré una columna personalizada en la que podamos construir nuestra lógica.

Uso del editor avanzado de Power Query para extraer valores antes de un texto específico

Lo primero que voy a hacer es dividir esa columna de texto. Así que usaremos la función Text.Split y luego colocaremos un paréntesis de apertura. Quiere un texto, por lo que podemos apuntar a nuestra columna Texto. A continuación, quiere un separador como texto. Entonces, entre un conjunto de comillas dobles, podemos agregar ese punto y coma, luego cerrar el paréntesis y presionar OK.

Uso del editor avanzado de Power Query para extraer valores antes de un texto específico

Y con eso, nos da una lista con valores de texto separados.

Uso del editor avanzado de Power Query para extraer valores antes de un texto específico

Todavía tenemos que hacer un poco de limpieza porque podría haber algunos espacios iniciales o finales incluidos en estas cadenas de texto y debemos deshacernos de ellos. Eso significa que tenemos que cambiar el contenido de cada una de estas listas, y hay una función M para eso llamada List.Transform .

Entonces, en la barra de fórmulas, agregaré List.Transform. Quiere una lista y le hemos dado eso, luego pone una coma. Lo siguiente es una transformación, por lo que queremos recortar esos textos. Entonces, agregaré Text.Trim , luego un paréntesis de cierre y presionaré OK.

Uso del editor avanzado de Power Query para extraer valores antes de un texto específico

Ahora, abramos la ventana del editor avanzado de Power Query porque, como dije, quiero dividir esto en partes muy pequeñas. Usaré variables para almacenar resultados intermedios para cada uno de los pasos.

Podemos crear un conjunto de variables delimitadas por comas dentro de una expresión let . Llamaré al primer paso como ListTexts . Ese último paréntesis de cierre es de nuestra tabla que agregó funciones de columna, así que muévalo también a una nueva línea. Al final de esa primera expresión, tenemos que poner una coma, para que podamos agregar una nueva expresión allí mismo.

Luego, creamos un nuevo nombre de variable, al que llamo FindPositions . Toda la cadena ha sido separada y limpiada. Todo lo que tenemos que hacer es encontrar la ubicación de la cadena que estamos buscando. Para hacer eso, usaremos una función llamada ListPositionOf . Agregue paréntesis de apertura y podemos devolver la variable que ya creamos (ListTexts).

A continuación, ponemos el valor que estamos buscando, y son dos A mayúsculas. La contraparte de let está en la cláusula, por lo que debemos agregar eso y devolverlo a FindPositions . Luego, presione Listo.

Uso del editor avanzado de Power Query para extraer valores antes de un texto específico

Esta función toma un tercer parámetro opcional, por lo que en la barra de fórmulas podemos agregar ese tercer parámetro. Y con eso, obtenemos una lista.

Uso del editor avanzado de Power Query para extraer valores antes de un texto específico

El objetivo es extraer el valor antes de la cadena de búsqueda, por lo que debemos regresar a una sola posición. Pero, también tenemos ceros. No hay ningún valor antes del primer valor inicial en esa cadena, y debemos evitar errores, por lo que debemos excluir esos ceros, por lo que volvemos al Editor avanzado nuevamente y agregamos algo de lógica.

Uso del editor avanzado de Power Query para extraer valores antes de un texto específico

Todavía tenemos que volver a una posición. Y así, en el Editor avanzado, podemos usar List.Transform para ayudarnos.

Uso del editor avanzado de Power Query para extraer valores antes de un texto específico

A continuación, usaremos List.Transform para obtener cadenas y acceder a elementos dentro de nuestras listas.

Uso del editor avanzado de Power Query para extraer valores antes de un texto específico

El paso final es combinar todos los valores de texto de la lista en una sola cadena. Entonces, voy a agregar otra línea en nuestra lógica para nuestro resultado con la función, Text.Combine .

Uso del editor avanzado de Power Query para extraer valores antes de un texto específico

Y así es como puede extraer cadenas antes de un texto específico con una solución completamente codificada.

Uso del editor avanzado de Power Query para extraer valores antes de un texto específico


Datos delimitados: extracción de registros mediante LuckyTemplates
Extraer valores de registros y listas en Power Query
Desactivar dinámicamente varias columnas en LuckyTemplates

Conclusión

En este tutorial, ha visto cómo extraer cadenas antes de un texto específico, y usamos varias funciones de texto y listas M para realizar esa tarea. Espero que hayas disfrutado este. Puede ver el video tutorial completo a continuación para ver la solución paso a paso en detalle.

¡Mis mejores deseos!

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.