2015-06-19 61 views
0

我在SSRS中看到了很多關於平均時間的問題,但我對此很新,而且這些問題都沒有解決我的具體需求,因此將不勝感激。SSRS平均時間以分鐘爲單位,然後格式爲HH MM

我有一個持續時間字段(Fields!Duration1.Value),它以分鐘爲單位持續時間(例如:170)。在我的存儲過程,我喜歡這樣轉換這HH MM:

CONVERT(VARCHAR(5),DATEADD(minute, test.Duration,0) ,114) AS Duration1 

這是工作就像一個魅力,我用它在我的SSRS報告。不幸的是,我也需要獲得平均持續時間。所以我在我的存儲過程中將原始字段test.Duration作爲額外的SELECT拋出。該報告設置爲矩陣,因此它是我想要顯示平均值的「總計」行。

所以我敢肯定,我需要先:

=Avg(Fields!test.Duration.Value) 

其中一期工程(但有一個荒謬的十進制值),但我怎麼然後格式化該值重新HH:MM ???我確信我可以在我的存儲過程中做到這一點,但我不積極如何做到這一點基本上:任何和所有的幫助歡迎!

感謝

+0

你怎麼想顯示小數分鐘?你會有平均的。或者你想丟棄或捨棄分數? –

回答

0

你可以添加自己的格式化功能來報告代碼部分:

Public Function MinsToHHMM (ByVal Minutes As Decimal) 
    Dim HourString = Floor(Minutes/60).ToString() 
    Dim MinString = Floor(Minutes Mod 60).ToString() 
    Return HourString.PadLeft(2, "0") & ":" & MinString.PadLeft(2, "0") 
End Function 

然後調用它在細胞中的表達是這樣的:

=Code.MinsToHHMM(Avg(Fields!test.Duration.Value)) 
+0

這工作就像一個魅力。複製/粘貼並驗證它是否正確拉取所有內容。我不知道「報告代碼」部分,我很感謝您將我的注意力吸引到它!這將有助於未來的巨大發展。 – mslhrt

相關問題