ich einen Datensatztyp für einige Client-Daten in F # definiert sich wie folgt: -Conditional Summe in F #
type DataPoint = {
date: string;
dr: string;
Group: string;
Product: string;
Book: int;
Revenue: int} with
static member fromFile file =
file
|> File.ReadLines
|> Seq.skip 1 //skip the header
|> Seq.map (fun s-> s.Split ',') // split each line into array
|> Seq.map (fun a -> {date = string a.[0]; dr = string a.[1];
Group = string a.[2]; Product = string a.[3];
Book = int a.[4]; Revenue = int a.[5] });;
// creates a record for each line
let pivot (file) = DataPoint.fromFile file
|> ??????????
Für die Zeilen, in denen Datum, dr, Gruppe und Produkt alle gleich sind, möchte ich dann Summe alle Buch- und Einnahmeneinträge, die eine geschwungene Reihe erzeugen. Also sollte irgendeine Art von if else-Anweisung in Ordnung sein. Ich vermute, ich muss am ersten Datenpunkt beginnen und rekursiv jede passende Zeile hinzufügen und dann die passende Zeile löschen, um Duplikate in der Ausgabe zu vermeiden.
Sobald ich dies getan habe, werde ich leicht in der Lage sein, diese geschwenkten Zeilen in eine andere CSV-Datei zu schreiben.
Kann mich jemand anfangen?
Große, das ist sehr gepflegt. Wird testen und akzeptieren, wenn es funktioniert. –
Danke auch für das Aufzeigen der Funktionen, mit denen ich mich vertraut machen muss. –
Gern geschehen :-). – pad