Tengo varias listas de datos de 4 fuentes diferentes con un conjunto común de ID que me gustaría fusionar, basado en ID, que básicamente termina en una nueva lista, uno para cada ID y una entrada única para cada fuente.Fusionar múltiples listas de datos por ID común en F #
Los objetos en la lista de salida de cada una de las 4 fuentes tienen el siguiente aspecto:
type data = {ID : int; value : decimal;}
así, por ejemplo, me gustaría tener:
let sourceA = [data1, data2, data3];
let sourceB = [data1, data2, data3];
let sourceC = [data1, data2, data3];
let sourceD = [data1, data2, data3];
(Me doy cuenta de que este código no es válido, simplemente tratando de dar una idea básica ... las listas son realmente extraídas y generadas desde una base de datos)
Me gustaría tomar sourceA, sourceB, sourceC y sourceD y procesarlas en una lista que contiene los objetos algo como esto:
type dataByID = {ID : int; valueA : decimal; valueB : decimal; valueC : decimal; valueD : decimal; }
... así que puedo entonces imprimirlos en un CSV, con la primera columna es el ID y coulmns 2 - 5 siendo los datos de fuentes A - D correspondiente a la ID en esa fila.
Soy totalmente nuevo en F #, entonces, ¿cuál sería la mejor manera de procesar estos datos para que coincida con todos los valores de datos de origen por ID?
como dije, totalmente nuevo para F # ... Creo que tengo la idea básica, pero un ejemplo de código rápido sería extremadamente útil. –
@Adam: Agregué algunos ejemplos :-) –