1

我正在處理帶列分組的ssrs報告。以下是我的場景。若要計算矩陣列中的字段總和

矩陣1:

ID  2012 2013 
1  20 40 
1  30 50 

Total 50 90 

黑客帝國2:

ID  2012 2013 
1  60 70 
1  60 80 

Total 120 150 

我需要矩陣1和矩陣2的總和象下面這樣:

ID  2012 2013 
1  170 240 

但我得到的結果是這樣的:

ID  2012 2013 
1  410 410 

我已經應用於所有3個矩陣列分組又給表達得到總和矩陣3爲:=Sum(Fields!amount1.Value, "dsmatrix1") + Sum(Fields!Tamount1.Value, "dsmatrix2")

請幫助我獲得了一個解決方案。

謝謝!

+0

您是否可以控制生成的實際數據集,例如:如果它們來自數據庫,那麼您是否可以更新該代碼? –

+0

嗨,我有一個參數爲年份(如202,2013和用於列分組)。沒有其他參數,我不確定是否需要在分組添加列時指定任何特定的內容。 – user2395176

回答

0

我想我知道發生了什麼事。如我錯了請糾正我。

基於我所看到的,我猜測Matrix 1和Matrix 2每個只有三個字段,一個ID字段,一個金額字段(即「amount1」或「Tamount1」)和一個字段。

您的列分組正在操縱數據的顯示以顯示按年分類的所有值。當查看來自單個數據集的數據時,這可以很好地工作。但是,您的公式指定應添加dsmatrix1的Amount1字段和dsmatrix2的Tamount1字段中的所有內容的總和。這不考慮列分組。你的表情本質上是從兩個數據集中獲取所有的值並將它們加在一起。

不知道更多關於您的查詢結構或如何過濾數據,我最好的猜測是,你需要另一個SQL數據集。在這種情況下,您將從前兩個數據集中查詢並使用「Union All」命令將它們合併。請注意,您將希望使用Union All而不僅僅是Union。更多關於這裏:What is the difference between UNION and UNION ALL?

你的最終結果應該是這個樣子:

--This will be your dsmatrix1 query copied and pasted 
Select ... 

Union All 

--This will be your dsmatrix2 query copied and pasted 
Select ... 

--Place one single Order by clause at the bottom 
Order by ... 

注:您的兩個查詢是聯合在一起得當,你需要確保每個具有相同數量字段,每個字段具有相同的數據類型。然後你可以將你的第三個矩陣指向新的數據集。

希望有幫助!