2013-08-20 45 views
1

我正在嘗試創建SSRS報告,並在某些計算中遇到問題。在SSRS報告中添加時間戳值

我有幾列包含值如101.45,25,0.15,3.30。

實際上這些值是時間值,現在將所有這些導致的結果添加到結果129.9。

現在的問題是,當小數部分超過.60我需要添加一個數字,就像我需要的最終結果是130.30。

任何人都可以幫我解決這個問題。

感謝您提前。

回答

0

您不能直接添加值。您需要首先將這些值轉換成100規模添加,然後將其轉換回你的60

SELECT SUM(Floor(Column1)+(Column1%1)*100/60) FROM TimeAdd 

http://sqlfiddle.com/#!3/b5d55/8

規模對於SSRS

這樣
= 
(Int(ReportItems!TextBox1.Value) + (ReportItems!TextBox1.Value Mod 1)*100/60) 
+ 
(Int(ReportItems!TextBox2.Value) + (ReportItems!TextBox2.Value Mod 1)*100/60) 
+ 
(Int(ReportItems!TextBox3.Value) + (ReportItems!TextBox3.Value Mod 1)*100/60) 
+ 
(Int(ReportItems!TextBox4.Value) + (ReportItems!TextBox4.Value Mod 1)*100/60) 

但上面會給你130.5,但你可能會想要130.3。您需要將上述總和重新轉換爲60的比例。您可以將所有內容存儲在另一個變量中,然後應用縮放或編寫大量代碼。

=INT(ReportItems!AbsoluteSum.Value) + (ReportItems!AbsoluteSum.Value Mod 1)*60/100 

只是一個建議在SQL中,然後在報表設計中更容易解決。

+0

但這些值在不同的列中,我需要在SSRS報告中使用的解決方案。 謝謝你的迴應。 –

+0

請參閱我的更新回覆。你也可以在SSRS表達式中做同樣的事情。 –

+0

@DadapeerPvg我做了幾個更多的編輯請看我更新的回覆。 –

0

您可以在數據集中創建自定義字段,您可以在其中編寫表達式,將您的時間值轉換爲某個整數值或十進制值。

這個過程需要重複參與計算的數據庫的所有字段,最後在數據集中有數據庫中的七個標準列和七個自定義列,您可以稍後使用它們。

其他解決方案可能會在SSRS中編寫一些自定義代碼,您可以在其中創建接受參數的函數,併爲您進行計算。