He estados buscando en foros y al final me he atrevido a consultar en este, porque no sé ni por dónde empezar.
Tengo dos tablas una con más de 9000 líneas y 7 columnas y otra con 11000 lineas y otras 7 columnas con los mismos nombres de las columnas en las dos tablas.
La cuestión es que tengo que comparar una tabla con otra para ver que referencias en la primera columna de cada una se repiten y si en las 7 columnas están los mismos datos por referencia. Una vez viendo que son iguales borrar las líneas repetidas para conseguir una tabla única.
En caso de que se repitan las referencias de la primera columna pero los datos de las otras 6 sean diferentes pues complementarlas, hasta tener una única tabla sin referencias repetidas y con toda la información posible.
¿Hay alguna forma humana de hacer esto?
Muchas gracias a quien pueda ayudarme!!
Alex.
Mar, 23/10/2018 - 09:42
#1
Desesperado con dos tablas de más de 9000 líneas cada una
Yo las cargaría con PowerQuery, y ahí haría todas las comprobaciones necesarias.
Es algo bastante avanzado relacionado con la gestión de datos con Excel, pero creo que es la mejor opción.
Si quieres avanzar por aquí, lo primero es convertir tus tablas de datos en lo que Excel llama "tablas" (por ejemplo, seleccionando cualquier celda de la tabla, pulsando Ctrl+T)
Posteriormente crea una consulta a cada una de ellas. Luego tienes que crear una consulta nueva, editándola (por ejemplo, en Obtener Datos -> Iniciar Editor de Power Query)
Una vez ahí, debes configurar tu consulta utilizando el lenguaje M.
Por ejemplo, vamos a partir de que nuestras tablas tienen 5 campos que se llaman id, c1, c2, c3 y c4.
Ambas tablas tienen registros que no están en la otra tabla, pero también tienen registros repetidos. Los que están repetidos solo tienen valor de cada columna en una de las tablas, pero no en la otra.
Es decir, si en la tabla 1 existe el registro (campo id) 21000 con valores en c1 y c3, en la tabla 2 el mismo registro solo tendrá valores en c2 y c4.
Con estas premisas, podemos utilizar la siguiente expresión en la consulta:
let
Origen = Excel.CurrentWorkbook(){[Name="Tabla1"]}[Content],
#"Consulta anexada" = Table.Combine({Origen, Tabla2}),
#"Filas agrupadas" = Table.Group(#"Consulta anexada", {"id"}, {{"c1", each List.Sum([c1])/List.NonNullCount([c1]), type number},{"c2", each List.Sum([c2])/List.NonNullCount([c2]), type number},{"c3", each List.Sum([c3])/List.NonNullCount([c3]), type number},{"c4", each List.Sum([c4])/List.NonNullCount([c4]), type number}})
in
#"Filas agrupadas"
Nuestra nueva consulta se llamará Filas agrupadas.
Un saludo
Muchas, muchas, muchas gracias! Sinceramente no se que es PowerQuery pero voy a investigar y a ver que consigo.
Estoy descargándome power bi desktop a ver de que vá y si me soluciona algo tambien.
He completado la respuesta, por si te sirve de ayuda.
Power Query está en la pestaña de datos de Excel, en el grupo Obtener y transformar datos.
Te estoy hablando de Excel versión 2016 ProPlus. Si tienes otra versión, es posible que sea ligeramente diferente o, incluso, que no exista.
Con PowerBI no te puedo ayudar, aún no domino la herramienta. Aunque creo que los tiros van por donde te he dicho, pues tengo entendido que funciona de manera parecida a PowerQuery.
El problema es ese que al tener una versión antigua de excel no puedo descargarme el Power Query. Igualmente con tus datos voy a ver si consigo hacer algo. Muchas gracias
Pero PowerBI te debería funcionar. Dale una oportunidad.