2012-04-12 74 views
1

我需要創建一個SSRS摘要報告,該報告可捕獲來自許多不同來源的大量數據。該報告需要報告三種不同類型的十幾個摘要數字。每個數字的計算都非常複雜,所以我絕對想要優化整體報告。爲報告構建查詢的最佳方式

我要去調用X/Y/Z 「類型」 和A/B/C/d/E/d 「項目」

實施例:

  X  Y  Z
A  10 12 14
B  8  6  11
C  12 0  99
D  10 12 14
E  8  6  11
F  12 0  99

我有sql來生成每個數字 - 每個「行」,我只是通過X/Y/Z的函數。

我的問題是如何收集所有的數據在一起報告呢?我:

  1. 在一個長的語句描述列名

  2. 聯盟每種類型彙集成一個單一的PROC /功能中的所有數據,所以一起創建的每個數據點作爲子查詢,並把它們串我會得到第一列&第二列在一個結果集中,第一列&第三列在另一列中,第一列和第四列列在第三列中。那麼我想我可以一起參加這些活動。

  3. 將每個數據點作爲一行(即A; X; 10)生成並將它們全部放在一起。

另外我最好爲每個項目創建一個函數,所以我打電話給fnA(X)得到10?而不是隻將SQL一起串聯在一個過程中?

我很熟練地熟悉SQL,但只是進入SSRS,所以我可能會錯過一個更簡單的方法來做到這一點。我試圖獲取SQL中的所有數據,然後在SSRS中使用它,但是如果我應該在SSRS中做更多的事情,而在SQL中做得更少,我會對它開放!

感謝您的輸入!

+0

你已經嘗試過上述方法嗎? – vyegorov 2012-04-13 19:24:34

回答

0

我結束了使用光標來通過併爲每個X/Y/Z類型拉每個數據點並將其插入臨時表。然後我使用SSRS將其顯示在矩陣中。有點骯髒,但它的工作原理...

0

SSRS可以方便地與數據處理,如果是從SQL查詢中使用這兩種形式的返回:

 
     X  Y  Z 
A  10 12 14 
B  8  6  11 
C  12 0  99 
D  10 12 14 
E  8  6  11 
F  12 0  99 

 
Item Type Value 
A  X  10 
A  Y  12 
A  Z  14 
B  X  8 
B  Y  6 
B  Z  11 
C  X  12 
C  Y  0 
... 

你一定會擁有一個更簡單的時間SSRS,如果這是從單個查詢返回的。有幾種方法可以從多個查詢中獲得結果,但它們不像處理一個查詢的結果那麼簡單。

然後這個問題就變得更容易從SQL返回。聽起來你已經掌握了一些選項:你的答案將取決於你的數據庫模式,以及你對SQL的不同特性的舒適(或傾向)。

我想在SSMS中嘗試幾種方法:如果需要,請帶上最乾淨的代碼或最佳性能。

+0

我想這是有道理的,只是嘗試幾種不同的方式 - 如果我能找到時間......謝謝! – Trees 2012-04-13 17:07:09