SSRS: Summen-TimeSpan-Werte in einem Bericht
Ich habe einen Bericht und eine datasource, wo man die Spalten sind vom Typ TimeSpan. Die TimeSpan-Wert wird richtig angezeigt in den Bericht, wenn ich Fields!TheTime.Value
, kein problem.
- 07:02:00
- 05:41:00
Aber ich würde gerne eine Summe über diejenigen Werte, um die Gesamtzeit der Gruppe. In C# und wie kann ich das natürlich tun, eine TimeSpan + eine weitere Zeitspanne, so weiß ich, Sie können Hinzugefügt werden. Ich habe versucht,
=Sum(Fields!TheTime.Value)
Aber es endet ausdrucken als eine lange Reihe von einigen Sortieren. Zum Beispiel für die ausgegebenen Zeiten vor, ich würde 457800000000
als die Summe. Und was ist das selbst eigentlich sein?
Sowieso, wie kann ich die Summe timespan-Werte in einen Bericht? Für die oben genannten Zeitspannen würde ich gerne am Ende mit 12:43:00
als die Summe. Es sei denn, mein Kopf hat mich in Mathe mal wieder... aber Sie bekommen die Idee :p
- Als Sie currectly unten abgeleitet, der summenwert ist die "tick" - Wert. Sie konnte auch sehen, dies durch die Berechnung der Anzahl der Sekunden, in den Zeiten oben: 07:02:00 = 25320s und 05:41:00 = 20460s. 25320 + 20460 = 45780.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Seufzer Die Lösung ärgerlicherweise einfach... Warum konnte ich nicht einfach versucht haben, in den ersten Platz? Naja... vielleicht, weil ich nicht geahnt hatte ich Zugang zu
TimeSpan
Klasse... vielleicht weil ich gedacht hatte, mich blind... Aber wie auch immer, hier ist es:D ' Oh!
using System;
im code-Datei@Svish - ich löschte meinen vorherigen post, da hatte ich einen Anfall Unsicherheit über meine Antwort, aber ich Stimme mit @pfunk.
Habe ich endlich SSRS sichern und hatte ein Spiel um und es sieht ganz so aus Ihrer großen Anzahl ist die Anzahl der ticks, so wie es aussieht, ein bisschen Formatierung des Ergebnisses wird für Sie arbeiten.
Interessanterweise meine bisherige verworrene Antwort war ein workaround für das summieren von DateTime-Werten (Verwendung von SQL Server-DATETIME-Datentyp in meiner Abfrage), die Sie nicht in SSRS (und SQL), weil Sie nicht Summe ein DATETIME. Ich werde es hier nochmal für zukünftige Referenz, aber ich denke, dass war ein bisschen eine Tangente früher 🙂
Den code unten wandelt ein DateTime-Feld in einer Doppel -, Summen das Ergebnis und dann konvertiert es zurück in DateTime und formatiert hh:mm:ss
Was wahrscheinlich geschieht, ist, dass, wenn Sie die Anzeige-Felder!TheTime.Wert, SSRS ist klug genug zu wissen, um Sie anzuzeigen, als eine DateTime-Typ-Feld
wenn Sie fügen Sie die Summe in es es denkt, es ist ein numerisches Feld und zeigt es als solche (dh, es ist die Summe der Anzahl der "ticks" in jeder Zeitspanne Feld)
versuchen, speziell die Formatierung der summierte Wert als datetime im Bereich Eigenschaften, und es wird wahrscheinlich zeigen, richtig