1

SSRS 2008 に、TotalTime という列を持つテーブルからデータを取得するレポートがあります。これは秒単位の整数値です。

表示するには、式でこれを使用します。

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

(ここから取得: Display Seconds Count in HH:MM:SS format in SSRS 2008 )

現在、値が 24 時間を超えると、一種の「モジュール」値になります。つまり、値が 29 時間の場合、29:00:00 を表示する代わりに 05:00:00 を表示します。値が 51 時間の場合、03:00:00 と表示されます (48 時間を取ります)。

これを解決するにはどうすればよいですか?

ありがとう!

4

3 に答える 3

5

1日は86,400秒です。したがって、秒がそれよりも大きい場合は、日を使用します。

=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")
于 2012-11-25T09:38:17.577 に答える
5

HH:mm:ss形式の場合、次を使用できます。

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

この場合、たとえば90000secは次のように表示されます:25 :00:00

DD:HH:mm:ss形式の場合は、次を使用します。

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

90000秒は次のように表示されます:1:01:00:00

于 2013-03-09T16:59:39.157 に答える
0

本当に時間ベースのソリューションを使用する必要があります。日ベースのソリューションでは、夏時間の変更で問題が発生する可能性があります。

=Floor(Fields!TotalTime.Value / 3600) &":"& Format(DateAdd("s", Fields!TotalTime.Value, "00:00"), "mm:ss")
于 2014-06-18T17:32:51.833 に答える