Combinar filas en una lista delimitada

Índice
  1. Objetivo
  2. Crea nuestra consulta básica
  3. Haz algunas transformaciones
  4. Devolver los datos a nuestra hoja de trabajo.
    1. Archivo de muestra

Esta es la primera de dos publicaciones relacionadas que demuestran cómo usar Power Query para tratar filas y listas delimitadas. En esta primera publicación, combinaremos filas en una lista delimitada. En la segunda publicación, haremos lo contrario y convertiremos una lista delimitada en filas. Pues a qué estamos esperando… ¡vamos a ello!

Objetivo

Digamos que hemos exportado datos de nuestro sistema de contabilidad. En lugar de mostrar una fila para cada registro, nuestro sistema utiliza muchas filas para cada pedido. Además, los pedidos tienen un número variable de filas. En otras palabras, algunos pedidos tienen 4 filas mientras que otros tienen 3 y así sucesivamente. Esto se ilustra a continuación:

Pero lo que necesitamos es una sola fila por ID de pedido, con las cadenas de Atributo y Valor combinadas en una única lista delimitada. Básicamente queremos que se vea así:

Como ocurre con todo en Excel, existen varias formas de realizar esta tarea. Actualmente, estoy en una fase de Power Query, por lo que esta publicación demostrará cómo hacerlo con Power Query.

Aquí están los pasos:

  • Crea nuestra consulta básica
  • Haz algunas transformaciones
  • Devolver los datos a nuestra hoja de trabajo.

Hagámoslo.

Nota: Los pasos a continuación se presentan con Excel para Windows 2016. Si está utilizando una versión diferente de Excel, tenga en cuenta que es posible que las funciones presentadas no estén disponibles o que deba descargar e instalar el complemento Power Query.

Crea nuestra consulta básica

Primero, necesitamos obtener nuestra tabla de datos de nuestra hoja de trabajo en Power Query. Entonces, seleccionamos cualquier celda de la tabla y hacemos clic en Datos De tabla/rango . Y así, ya tenemos nuestros datos cargados en la ventana de Power Query, como se muestra a continuación.

Ahora comienza la diversión

Haz algunas transformaciones

En este caso, queremos conservar el texto del Atributo y del Valor, por lo que los combinaremos en una sola columna y usaremos dos puntos: delimitador. Hacemos esto seleccionando las columnas Atributo y Valor al mismo tiempo (Ctrl + clic) y luego seleccionamos Transformar Fusionar columnas . Se muestra el cuadro de diálogo Fusionar columnas, seleccionamos el separador de dos puntos y configuramos el nuevo nombre de la columna combinada en Fusionada , como se muestra a continuación.

Hacemos clic en Aceptar y la consulta actualizada se muestra a continuación.

Ahora necesitamos crear una fila para cada ID de pedido. Podemos hacer esto haciendo clic en el comando Transformar Agrupar por . Se muestra el cuadro de diálogo Agrupar por. Queremos agrupar por la columna OrderID y queremos que la nueva columna se llame Datos y contenga Todas las filas , como se muestra a continuación.

Damos clic en Aceptar y la consulta actualizada se muestra a continuación.

Ahora, esta es la parte interesante. Y esta parte la aprendí de Ken Puls y Miguel Escobar durante su taller, que, por cierto, fue totalmente increíble Enseñaron gran parte del contenido de su maravilloso libro llamado M is for (Data) Monkey , que recomiendo ampliamente.

Necesitamos crear una nueva columna, por lo que seleccionamos Agregar columna Columna personalizada . Se abre el cuadro de diálogo Columna personalizada donde especificamos cualquier nombre de columna y luego escribimos la siguiente fórmula:

=Tabla.Columna([Datos],"Fusionado")
  • Donde [Datos] es el nombre de la columna de la tabla y “Fusionado” es el nombre de la columna que configuramos anteriormente.
  • Nota: si utilizó nombres diferentes, deberá actualizar la fórmula en consecuencia.

Ahora, esto crea una nueva columna de lista, como se muestra a continuación.

Ahora, desde aquí, hacemos clic en el ícono Expandir en el lado derecho del encabezado Personalizado y seleccionamos Extraer valores como se muestra a continuación.

Esto muestra el cuadro de diálogo Valores adicionales de la lista , donde especificamos nuestro delimitador deseado, en este caso un punto y coma, como se muestra a continuación.

Damos clic en Aceptar… y ¡Bam! (mostrado a continuación)

Como realmente ya no necesitamos la columna Datos, podemos seleccionar la columna y luego usar el comando Eliminar columnas . Ahora estamos listos para enviar los resultados a Excel.

Devolver los datos a nuestra hoja de trabajo.

Esta parte es realmente fácil. Simplemente hacemos clic en Cerrar y cargar y ahora tenemos los resultados cargados en una hoja de trabajo, como se muestra a continuación.

Ahora, la mejor parte de este enfoque es que mañana, la próxima semana o el próximo mes, cuando tengamos una tabla de exportación actualizada, simplemente hacemos clic derecho en la tabla de resultados y presionamos Actualizar. Y hecho. No es necesario volver a realizar estos pasos de transformación. ¡Booya!

Si desea practicar, no dude en consultar el archivo de muestra a continuación.

Y en la próxima publicación, haremos lo contrario y asumiremos que nuestra exportación contiene una lista delimitada que debemos expandir en varias filas.

Si tiene algún consejo relacionado con Power Query, compártalo publicando un comentario a continuación.

Archivo de muestra

  • CombinarFilas.xlsx

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir

Este sitio web utiliza cookies para mejorar la experiencia del usuario y garantizar un funcionamiento eficiente. Al utilizar nuestro sitio web, aceptas todas las cookies de acuerdo con nuestra política de cookies. Leer mas...