C # Minutennummer von Datum in Linq-Gruppe erhalten durch

8

Ich muss meine Daten nach jeder Minute des Tages gruppieren und die Anzahl der Ereignisse ermitteln, die während dieser Minute aufgetreten sind. Ich habe derzeit:

%Vor%

Das tut, was ich brauche, aber das Problem ist, dass ich möglicherweise keine Datenpunkte für jede Minute habe. Wie kann ich 0 zum Count -Feld hinzufügen, wenn ich keine Daten für diese Minute habe? Alternativ könnte ich eine kleine Zahl (0 ... 1440) hinzufügen und die fehlenden Werte später hinzufügen.

BEARBEITEN

Die Lösung gruppiert derzeit nur nach dem Anfangsdatum, aber dieses Objekt hat tatsächlich ein Feld end_date . Also im Moment habe ich alle Ereignisse, die in dieser Minute begonnen haben, aber ich muss die Anzahl der Ereignisse ermitteln, die in dieser Minute laufen.

Die Daten, die ich habe, enthalten:

%Vor%

Momentan verwendet es nicht das end_date -Feld, so dass die Ausgabe

ist %Vor%

Ich muss alle laufenden Ereignisse haben, etwa

%Vor%     
Erki M. 15.05.2015, 08:28
quelle

3 Antworten

1

Erstens könntest du alle Stunden & amp; Minuten an einem Tag mit einigen einfachen LINQ:

%Vor%

Live-Beispiel: Ссылка

Sie können dann diese Sammlung verwenden, um zu den ursprünglichen Ergebnissen beizutreten, um die endgültige Ausgabe zu erstellen:

%Vor%

Ausgabe

  

00:00 = 0
  00:01 = 6
  00:02 = 0
  00:03 = 1
  00:04 = 0
  //..snip..//
  23:55 = 0
  23:56 = 0
  23:57 = 0
  23:58 = 0
  23:59 = 0

Live-Beispiel Ссылка

BEARBEITEN

Wenn Sie Ihre Anforderung ändern, einen Bereich von Daten zu berücksichtigen, können Sie eine neue Klasse und Methode hinzufügen, um die Stunde & amp; Minute von jedem Gegenstand:

%Vor%

Dies kann dann in der ursprünglichen Methode wie folgt verwendet werden:

%Vor%

Ausgabe

  

00:00 = 0
  00:01 = 6
  00:02 = 6
  00:03 = 7
  00:04 = 7
  00:05 = 7
  00:06 = 0
  00:07 = 0
  // .. snip ..//

Live-Beispiel: Ссылка

    
Jamiec 15.05.2015, 08:55
quelle
4

Es scheint, dass Sie GroupJoin() nicht nur GroupBy() wollen, etwas ähnliches:

%Vor%     
Dmitry Bychenko 15.05.2015 08:43
quelle
0

Dies sollte ohne join funktionieren. Nimm nur einzelne Daten in Items an.

%Vor%     
Eric 15.05.2015 08:47
quelle

Tags und Links