LuckyTemplates Power Query: Eliminación de filas duplicadas

LuckyTemplates Power Query: Eliminación de filas duplicadas

En este blog, le mostraré cómo eliminar filas duplicadas en LuckyTemplates Power Query según las condiciones. Puede ver el video completo de este tutorial en la parte inferior de este blog.

Este ejemplo es de una pregunta que se planteó en el . El miembro tiene datos transaccionales y quiere eliminar filas que se anulan entre sí.

Hay dos tipos transaccionales distintos, uno para entrada y otro para salida. Ella también agregó el conteo de movimientos. Y en base a eso, formuló tres escenarios.

LuckyTemplates Power Query: Eliminación de filas duplicadas

El escenario uno se basa en dos filas. Si se cancelan entre sí, se deben eliminar ambas filas. Si ese no es el caso, entonces se deben mantener ambas filas.

Los escenarios dos y tres se basan en una combinación de filas, en parte anulándose entre sí. Esas filas deben eliminarse por orden de entrada, de modo que solo se conserven las últimas transacciones entrantes.

Básicamente, estamos repitiendo la misma lógica una y otra vez. Deberíamos poder diseñar un enfoque único que se ajuste a todos estos escenarios.

Algunas de las cosas que vamos a hacer son agregar una columna con cantidades absolutas y agrupar por "agregar una columna de balance de cantidad" y una tabla anidada usando la opción "todas las filas". También transformaremos esas tablas anidadas, ordenaremos el tipo de movimiento y la fecha de publicación, crearemos un total acumulado y solo mantendremos las filas según una condición.

Califiqué esto en un nivel intermedio porque la mayoría de las transformaciones que podemos hacer aquí son usando la interfaz de usuario. Dicho esto, pasemos a LuckyTemplates Power Query.

Tabla de contenido

Agregar columna con cantidades absolutas en Power Query

Comenzaremos agregando una columna con cantidades absolutas. Seleccione la columna Cantidad , luego en la cinta o pestaña Agregar columna , vaya a Científica y luego haga clic en Valor absoluto .

LuckyTemplates Power Query: Eliminación de filas duplicadas

Voy a cambiar el nombre de esta columna en la barra de fórmulas.

LuckyTemplates Power Query: Eliminación de filas duplicadas

Agrupar por índice de ID y cantidad absoluta

Ahora podemos agrupar por índice de ID y cantidad absoluta. Seleccione Índice de ID , luego mantenga presionada la tecla shift o control para realizar una selección múltiple y luego haga clic en Abs qty (cantidad absoluta).

LuckyTemplates Power Query: Eliminación de filas duplicadas

Encontrará Agrupar por en la pestaña Transformar.

LuckyTemplates Power Query: Eliminación de filas duplicadas

Pero también puede encontrarlo en la pestaña Inicio.

LuckyTemplates Power Query: Eliminación de filas duplicadas

Haga clic en él y ahora vamos a agregar una nueva columna. No es un “conteo”, pero va a ser la “suma” de la cantidad. Entonces, cambiémosle el nombre a Qty (cantidad) Balance . Va a ser una suma de la columna de cantidad. Y luego, agregaremos otra agregación, pero será especial, por lo que seleccionaremos Todas las filas . Démosle también un nombre a esta columna ( AllRows ). Luego, presione Aceptar.

LuckyTemplates Power Query: Eliminación de filas duplicadas

Si hacemos clic en el espacio en blanco de la tabla, vemos una vista previa de la tabla anidada a continuación. Vemos que las cantidades de esta tabla anidada se cancelan entre sí y el saldo de cantidad es cero.

LuckyTemplates Power Query: Eliminación de filas duplicadas

Si observamos la siguiente tabla anidada (haga clic en el lado del espacio en blanco de la siguiente fila), vemos que la columna de cantidad no se cancela entre sí y que el saldo de cantidad es mayor que cero.

LuckyTemplates Power Query: Eliminación de filas duplicadas

Agreguemos una columna personalizada para que podamos usarla para nuestras transformaciones de tablas anidadas más adelante. Por lo tanto, seleccione Agregar columna personalizada .

LuckyTemplates Power Query: Eliminación de filas duplicadas

Cambiemos el nombre de esa columna a Transformaciones y agregaremos cero (0) como marcador de posición. Luego, haga clic en Aceptar.

LuckyTemplates Power Query: Eliminación de filas duplicadas

Transformación de tablas anidadas en LuckyTemplates Power Query

Ahora estamos listos para crear la lógica para transformar esas tablas anidadas. Pero no queremos escribir un montón de ellos, y no es necesario.

Podemos utilizar la interfaz de usuario en su mayor parte. Si construimos la lógica para esas transformaciones en una consulta separada, el escenario más elaborado que teníamos era el que tenía tres o cuatro filas.

Ahora, si hago clic en el lado derecho de la última fila, veo que esta tabla tiene cuatro filas. Entonces, podemos usar esto para construir nuestras transformaciones.

LuckyTemplates Power Query: Eliminación de filas duplicadas

Haga clic con el botón derecho en el lado del espacio en blanco y seleccione Agregar como nueva consulta .

LuckyTemplates Power Query: Eliminación de filas duplicadas

Vemos que la tabla anidada ahora se expandió y se agregó como una nueva consulta y podemos usar esto para construir la lógica que necesitamos.

LuckyTemplates Power Query: Eliminación de filas duplicadas

Tipo de movimiento de clasificación y fecha de contabilización

Ahora, lo primero que debemos hacer es ordenar Tipo de movimiento . Elijamos descendente . De esta manera, las transacciones salientes siempre estarán en la parte superior.

LuckyTemplates Power Query: Eliminación de filas duplicadas

A continuación, ordenaremos la Fecha de publicación como ascendente , asegurándonos de que si omitimos filas, siempre se hará de acuerdo con el principio FIFO (primero en entrar, primero en salir).

LuckyTemplates Power Query: Eliminación de filas duplicadas

Crear un total acumulado

Para identificar las filas que vamos a eliminar, agregaré un total acumulado para deshabilitar y podemos usar List.FirstN para esa tarea. Esta función crea una lista basada en otra lista, donde los elementos principales se mantienen en función de un número específico o de un criterio.

LuckyTemplates Power Query: Eliminación de filas duplicadas

Volvamos a nuestra consulta. Necesitamos dos cosas para List.FirstN. Primero, necesitamos esa lista, y esa lista es nuestra columna Cantidad . Si hago clic con el botón derecho en el encabezado de la columna Cantidad, obtenemos la opción Agregar como nueva consulta .

LuckyTemplates Power Query: Eliminación de filas duplicadas

Y aquí vemos el código que necesitamos para generar esa lista. En el paso aplicado, puede ver que apunta al último paso y luego identifica la columna en esos corchetes.

LuckyTemplates Power Query: Eliminación de filas duplicadas

La segunda parte que necesitamos para List.FirstN es un número para identificar cuántos números mantener de esa lista. Podemos usar el índice para eso, así que agregaré una columna de índice de uno (1) para esta fila.

LuckyTemplates Power Query: Eliminación de filas duplicadas

Entonces, para el número 1, mantendrá el número en la primera fila de la columna Cantidad, y así sucesivamente. Y ahora podemos resumirlo.

LuckyTemplates Power Query: Eliminación de filas duplicadas

Agreguemos una columna personalizada y llamémosla Total acumulado . Usamos List.FirstN aquí, y podemos ver que el primer parámetro fue esa lista, la columna Cantidad. Necesitamos apuntar al último paso, y ese último paso es el Índice Agregado .

LuckyTemplates Power Query: Eliminación de filas duplicadas

Identificamos la columna que queremos, y esa es nuestra columna Cantidad. Nuestro recuento está en la columna Índice.

LuckyTemplates Power Query: Eliminación de filas duplicadas

Ahora devuelve una lista. Si hacemos clic al lado en el espacio en blanco, podemos ver el contenido de esa lista. Para el primer registro, solo mantuvo la fila superior de esa lista. Para el segundo récord, mantuvo las dos filas superiores.

LuckyTemplates Power Query: Eliminación de filas duplicadas

Ahora todo lo que tenemos que hacer es sumar estas cantidades y podemos usar Lists.Sum para hacerlo. Entonces, voy a agregar eso en la barra de fórmulas. Y también voy a poner Type .

LuckyTemplates Power Query: Eliminación de filas duplicadas

Filtrado de filas en función de una condición

Con este total acumulado, podemos identificar las filas que queremos conservar. Solo queremos mantener las filas que son mayores que cero, así que agreguemos una condición de filtro.

LuckyTemplates Power Query: Eliminación de filas duplicadas

Ahora podemos eliminar nuestras columnas auxiliares. Seleccione Índice y Total acumulado, luego haga clic en Quitar columnas.

LuckyTemplates Power Query: Eliminación de filas duplicadas

En el Editor avanzado, ahora podemos copiar el código que hemos creado. Abriré el Editor avanzado y podemos ver que este es nuestro paso dividido. Entonces, podemos seleccionar y copiar todo lo que está debajo de eso.

LuckyTemplates Power Query: Eliminación de filas duplicadas

Ahora volvamos a nuestra consulta original. Nuevamente, abra el Editor avanzado. Y en lugar del marcador de posición, pasemos a una nueva línea. Voy a usar la expresión " let " porque puede capturar valores de cálculos intermedios en variables. Entonces, "let" y luego ve a una nueva línea y pega mis transformaciones. También declararé Type .

LuckyTemplates Power Query: Eliminación de filas duplicadas

El código resaltado arriba apunta a nuestra tabla anidada expandida, que se coloca dentro de la columna Todas las filas. Entonces, voy a señalar eso, reemplazando este código resaltado a AllRows .

Entonces nuestra columna de transformación ahora tiene tablas anidadas. Construimos nuestra consulta basándonos en la última fila, ¿verdad? Y eso contenía cuatro filas cuando comenzamos y solo contenía dos. También tenemos esas cantidades balanceadas con cero, ¿no? Y ahora tiene una mesa vacía.

LuckyTemplates Power Query: Eliminación de filas duplicadas

Podemos eliminarlos filtrando en la columna Balance de cantidad. No queremos que el saldo de la cantidad sea igual a cero.

LuckyTemplates Power Query: Eliminación de filas duplicadas

Y luego, seleccionaré mi columna de transformación y eliminaré otras columnas. Ahora puedo expandir mis tablas anidadas de transformación. No use el nombre de la columna original como prefijo y presione Aceptar.

LuckyTemplates Power Query: Eliminación de filas duplicadas

En la pestaña Transformar, seleccione Tipo de datos y ya hemos terminado. Y así es como limpia los datos transaccionales.


Conceptos básicos de Unpivot y Pivot en LuckyTemplates – Editor de consultas Revise
mis consejos prácticos al usar el editor avanzado de LuckyTemplates
Transformaciones avanzadas en LuckyTemplates

Conclusión

En este tutorial, le mostré cómo limpiar datos transaccionales, específicamente eliminando filas duplicadas. Esta es una gran técnica que puede usar cuando utiliza LuckyTemplates Power Query.

Espero que hayas disfrutado este. Mire el video tutorial completo a continuación para obtener más detalles. Consulte los enlaces a continuación para obtener más contenido relacionado con LuckyTemplates Power Query Editor.

¡Salud!

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