2015-07-13 35 views
0

在SSRS BI 2012中,我已經制作了一份報告,如下所示。例如,在週末的工作中斷時,報告中會有另一行版本號相同的行。在下面的示例中,它是版本3.將SSRS中的行組合在一起,並且只總計一些值

如果特定orderNo的版本號相同,然後求和Netto和ActualTime而不是Bruto和PlannedTime,是否有方法合併行?

OrderNo Ver Netto Bruto PlannedTime ActualTime 
123456  1 1000 1050 01:50  01:45 
      2 1000 1050 01:50  01:45 
      3 500  1050 01:50  00:30 
      3 500  1050 01:50  00:45

回答

1

關於你的問題:

有沒有辦法合併行,如果一個特定的orderNo的版本號是相同的,然後總結內託和ActualTime而不是Bruto和PlannedTime?

我認爲,如果你使用表達式自定義文本框和範圍列總有可能。檢查this

如果您從數據源中獲取數據,則會更容易。 假設Bruto和PlannedTime列將保持相同的特定版本,你有一個像這樣的表: enter image description here

您可以使用下面的查詢從您的數據集:

select OrderNo,Ver,Sum(Netto) as Netto 
,Max(Bruto) as Bruto, Max(PlannedTime) as PlannedTime, 
DATEADD(ms, SUM(DATEDIFF(ms, '00:00:00.000', ActualTime)), '00:00:00.000') as ActualTime 
from Interruption 
group by OrderNo, Ver 

從這個數據集可以使用表格組件。格式化你的時間列作爲你的請求這樣的事情。

enter image description here

使用表格組件我建這個:

enter image description here

給一個嘗試,我希望這可以幫助你。

+0

感謝您的回答,實際的查詢要複雜得多,但我會努力並擠入其中。我到處看到人們提示更好地調整查詢,然後操縱報表。 – Ignotus

1

是的,你需要做的是根據版本號建立一個組。然後對於Netto列,ActualTime而不是普通列將它們設置爲函數。對於布魯托和計劃時間的求和函數SUM(...)的函數,我假設你沒有求和,因爲它們是相同的?在這種情況下,只需設置功能採取第一個值。