Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
Syndicate_Admin
Administrator
Administrator

Eliminar duplicados con agrupación por, dejar el valor más reciente

Hola
Actualmente estoy trabajando en el filtrado de bom viejos que mi empresa reemplazó con otros nuevos.
A continuación, hay una tabla con líneas de LDM.

pawelj795_0-1617102685879.png


La misma lista de materiales siempre tiene la misma parent_product_tmpl_id, pero diferente BOM_id.

Con eso dicho en el escenario anterior, quiero mantener las filas más recientes, que es la fila 3 y 4.

Probé soluciones de los siguientes videos, pero sin éxito.
Creo que debería mezclar estas 2 soluciones en mi caso, pero realmente no sé cómo.

https://www.youtube.com/watch?v=9dX9PK_KlSA
https://www.youtube.com/watch?v=S3X_HK7yl1w

Archivo de ejemplo:
https://drive.google.com/file/d/1ybE1_ju1nm8NZBMmlQ6_7PeBUc3izb4p/view?usp=sharing


6 REPLIES 6
Syndicate_Admin
Administrator
Administrator

Hola


Puede resolver este problema tanto en DAX como en Power Query en el que la agrupación por no es necesaria.

Desea definir el registro más reciente como el registro actual y definir registros con una fecha anterior como historial.

La solución en DAX tendría el siguiente aspecto:

COLUMNA =
VAR LatestRecordParentID =
CALCULAR(
MAX(tabla[create_date] ) ,
ALLEXCEPT(tabla , [parent_product_tmpl_id] ) ,
)

devolución
IF(
tabla[create_date] = LatestRecordParentID ,
"Registro actual",
"Récord histórico"
)

Puede usar esta columna para filtrar registros anteriores y solo mantener la actual.

Si desea resolver este problema en Power Query, puede aplicar la misma lógica de la fórmula DAX mediante MAX y FOR EACH.

¡Si necesitas ayuda, por favor avísame!

Syndicate_Admin
Administrator
Administrator

No hay @pawelj795

Descargar ejemplo de archivo PBIX y datos

No estoy seguro de haber seguido tu lógica totalmente como termino con un montón de filas para cada parent_product_tmpl_id.

Pero de acuerdo con lo que ha descrito, estoy agrupando en el campo parent_product_tmpl_id y no en el campo bom_id.

boms.png

En mi archivo anterior, compruebe la consulta Merge1 para esta tabla de resultados. Tuve que volver a crear los datos de las tablas del modelo de datos, ya que no podía abrir la consulta y tener acceso a su origen SQL. Los datos son con el archivo PBIX anterior.

saludos

Phil

@PhilipTreacy
Bueno, tu resultado parece estar bien.
Pero, ¿podrías explicarme paso a paso, cómo lo has hecho?

No hay @pawelj795

1. La consulta llamada Tabla1 carga los datos.

2. He duplicado esto y la nueva consulta se llama Tabla 1 (2).

3. Agruqué los datos por la columna parent_product_tmpl_id y fijó la operación para seleccionar el valor Máximo (la fecha más reciente) de la columna create_date

grp2.png

Esto da como resultado una tabla que tiene 1 fila por parent_product_tmpl_id mostrando la fecha más reciente asociada a ese identificador.

5. Combine las 2 consultas (Combinar como nuevo para crear una 3ª consulta) utilizando esta configuración

merge2.png

Lo que esto hace es extraer las filas de Table1 que tienen la fecha (más reciente) que se muestra en la consulta Table1 (2) para cada parent_product_tmpl_id. Todas las demás filas, las que tienen fechas anteriores, se ignoran.

6. Expanda las tablas de la consulta combinada para mostrar las otras columnas que desee.

saludos

Phil

@PhilipTreacy

Gracias, pero no veo su archivo

@pawelj795 Lo siento, inténtalo de nuevo, tuve que actualizar el enlace.

https://d13ot9o61jdzpp.cloudfront.net/files/pbiforum/pawel.zip

Phil

Helpful resources

Announcements
LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.