2009-10-12 57 views
0

我在顯示矩陣行中日期範圍的值時遇到問題。我想有一個矩陣顯示如下數據:在Reporting Services矩陣中顯示重疊範圍內的聚合體

 
      Trial Existing Total 
Yesterday  3 1  4 
This Week  5 3  8 
Last Week  18 5  23 
Month to Date 26 9  35 
Last Month 32 20  52 

我認爲該解決方案是創建一個計算的字段與用於取消範圍(「昨天」,「本週」等文本值)。問題是那些日期範圍重疊,並且該字段只能保存一個文本值。

有沒有辦法在Reporting Services中創建這樣的矩陣表?

回答

0

如果我可能會建議,爲什麼不在查詢中使用UNION創建一個SQL結果集和相同的數據?

例如

SELECT 'Yesterday' AS When, 
SUM(CASE WHEN Status = 'Trial' Then 1 Else 0 End) AS Trial, 
SUM(CASE WHEN Status = 'Other' Then 1 Else 0 End) AS Other 
FROM myTable 
WHERE TheDate >= givenDate AND TheDate < (givenDate + 1) 
GROUP BY When 
UNION 
SELECT 'This Week' AS When, 
SUM(CASE WHEN Status = 'Trial' Then 1 Else 0 End) AS Trial, 
SUM(CASE WHEN Status = 'Other' Then 1 Else 0 End) AS Other 
FROM myTable 
WHERE TheDate >= (givenDate - 7) AND TheDate < (givenDate + 1) 
GROUP BY When 

注意:我已經寫了這個查詢給你一個如何在SQL中完成的例子。所以不要依賴Reporting Services來完成這項工作。

你將不得不做一些雜耍以獲得「本週」在tsql中使用DATE相關函數的日期。

總計字段可以是報告中的計算字段。

+0

我得出了同樣的結論,在顯示數據之前編寫SQL查詢中所需的數據會更容易。上週我剛剛開始使用SSRS,並且仍在努力確定這些不同案例的最佳做法。 我希望報告服務對於這種類型的摘要足夠靈活。 – Nael 2009-10-12 15:54:10

相關問題