2012-11-20 5 views
8

Ich habe eine Tabelle mit einer Spalte, TotalTime, die ein Integer-Wert in Sekunden ist.Anzeige Sekunden zählen in HH: MM: SS-Format in SSRS 2008

In Visual Studio/SSRS 2008 möchte ich es im Format HH: MM: SS anzeigen.

Danke!

+0

Mein einziges Problem mit der Antwort von Chris ist, dass es keine Rundung zu berücksichtigen scheint (dh 5,5 Sekunden werden zu 5 Sekunden, anstatt auf 6 gerundet zu werden). Obwohl ich die Lösung nicht für die Lösung in Anspruch nehmen kann, konnte ich die mit dem hier empfohlenen benutzerdefinierten Code implementieren (https://social.technet.microsoft.com/Forums/en-US/b80ed2e5-0206-42e1- a9b4-9dace4f95406/konvertieren-Sekunden-in-Tage-Stunden-Minuten-Sekunden-in-Reporting-Dienste? Forum = sqlreportingservices). – DrewCranmer

Antwort

24

Verwenden Sie einfach einen Ausdruck, dass die Anzahl von Sekunden auf einen Nullzeitwert

=Format(DateAdd("s", Fields!TotalTime.Value, "00:00:00"), "HH:mm:ss") 

Wenn sie größer als 24 Stunden addiert, dann können Sie die folgende Formel verwenden, die die Tage Teil ergänzt:

=IIF(Fields!TotalTime.Value < 86400, 
    Format(DateAdd("s", Fields!TotalTime.Value, "00:00:00"), "HH:mm:ss"), 
    Floor(Fields!TotalTime.Value/86400) & " days, " & Format(DateAdd("s", Fields!TotalTime.Value, "00:00:00"), "HH:mm:ss") 
+0

Absolut großartig! Vielen Dank! – Amarundo

+0

Hallo Chris, falls Sie interessiert sind, habe ich gerade eine neue Frage gestellt, die eine Fortsetzung von dieser ist: http://StackOverflow.com/Questions/13534686/How-to-display-beyond-24-hrs-in -ssrs-2008-in-hhmmss-Format Danke !!! – Amarundo

+0

Diese Antwort funktioniert nicht, wenn sie mehrere Tage dauert. –

6

für HH: mm:

=Floor(Fields!TotalTime.Value/3600) &":"& Format(DateAdd("s", Fields!TotalTime.Value, "00:00"), "mm:ss") 

In diesem Fall zum Beispiel 90000se: ss-Format Sie diese verwenden können c werden wie folgt angezeigt: 25:00:00

für DD HH: mm: ss-Format verwenden:

Floor(Fields!TotalTime.Value/86400) &":"& Format(DateAdd("s", Fields!TotalTime.Value, "00:00:00"), "HH:mm:ss") 

90000sec wird, wie gezeigt werden: 1: 01: 00: 00

Verwandte Themen