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


Qué es uno mismo en Python: ejemplos del mundo real

Qué es uno mismo en Python: ejemplos del mundo real

Qué es uno mismo en Python: ejemplos del mundo real

Cómo guardar y cargar un archivo RDS en R

Cómo guardar y cargar un archivo RDS en R

Aprenderá a guardar y cargar objetos desde un archivo .rds en R. Este blog también cubrirá cómo importar objetos desde R a LuckyTemplates.

Revisión de los primeros N días hábiles: una solución de lenguaje de codificación DAX

Revisión de los primeros N días hábiles: una solución de lenguaje de codificación DAX

En este tutorial del lenguaje de codificación DAX, aprenda a usar la función GENERAR y a cambiar dinámicamente el título de una medida.

Showcase Insights utilizando la técnica de elementos visuales dinámicos de subprocesos múltiples en LuckyTemplates

Showcase Insights utilizando la técnica de elementos visuales dinámicos de subprocesos múltiples en LuckyTemplates

Este tutorial cubrirá cómo usar la técnica de elementos visuales dinámicos de subprocesos múltiples para crear información a partir de visualizaciones de datos dinámicos en sus informes.

Introducción al contexto de filtro en LuckyTemplates

Introducción al contexto de filtro en LuckyTemplates

En este artículo, repasaré el contexto del filtro. El contexto del filtro es uno de los temas principales que cualquier usuario de LuckyTemplates debería conocer inicialmente.

Los mejores consejos para usar las aplicaciones en el servicio en línea de LuckyTemplates

Los mejores consejos para usar las aplicaciones en el servicio en línea de LuckyTemplates

Quiero mostrar cómo el servicio en línea de LuckyTemplates Apps puede ayudar a administrar diferentes informes e información generada a partir de varias fuentes.

Analice los cambios en el margen de beneficio a lo largo del tiempo: análisis con LuckyTemplates y DAX

Analice los cambios en el margen de beneficio a lo largo del tiempo: análisis con LuckyTemplates y DAX

Aprenda a calcular los cambios de su margen de beneficio utilizando técnicas como la bifurcación de medidas y la combinación de fórmulas DAX en LuckyTemplates.

Ideas de materialización para cachés de datos en DAX Studio

Ideas de materialización para cachés de datos en DAX Studio

Este tutorial analizará las ideas de materialización de cachés de datos y cómo afectan el rendimiento de DAX al proporcionar resultados.

Informes comerciales con LuckyTemplates

Informes comerciales con LuckyTemplates

Si todavía usa Excel hasta ahora, este es el mejor momento para comenzar a usar LuckyTemplates para sus necesidades de informes comerciales.

¿Qué es la puerta de enlace de LuckyTemplates? Todo lo que necesitas saber

¿Qué es la puerta de enlace de LuckyTemplates? Todo lo que necesitas saber

¿Qué es la puerta de enlace de LuckyTemplates? Todo lo que necesitas saber