2015-04-27 17 views
0

我對SSRS幾乎一無所知,所以如果我使用錯誤的詞彙,請原諒我。如何在SSRS中添加突破式聚合行組

我正在爲之工作的組織擁有志願者機會清單。每個機會都有一定數量的志願者需要。數據庫跟蹤志願者,他們自願提供的機會以及志願者的狀態:他們是否剛剛註冊並需要聯繫,他們是否處於成爲志願者的過程中,無論是他們志願者,或者他們是否放棄了志願服務。

某些志願者機會(即那些需要與兒童接觸並因此需要背景檢查的機會)比其他機會擁有更多的志願者狀態。對於這些機會,共有14個州,而其餘的則爲3或4個。

我需要創建一個報告,顯示每個機會在每個機會中的人數。那裏有15個專欄(14個+需要志願者)是不合理的,因爲大多數國家只有三個專欄。對於與兒童有關的機會,我想指定一個「其他」列,並在志願者機會名稱的左側有一個擴展[+],這將擴展所有特定於兒童的狀態及其相關計數。

報告,因爲它現在看起來是這樣的:

Current state of the report

我的背景是在數據庫/查詢設計,所以很自然我寫了一個查詢與加入子查詢每一列。我並沒有爲每個「其他」州增加一個新的子查詢,而是假設我有一種方法可以在志願者身份上加入一個子查詢加入分組,並讓SSRS完成剩下的工作。 (我可能是錯的約SSRS的能力在這裏。)

我提出的查詢看起來是這樣的:

SELECT vo.name, vo.volunteers_needed, vm.status, vm.status_count 
FROM tbl_volunteer_opportunity vo 
JOIN (SELECT volunteer_opp_id, status, COUNT(*) "status_count" 
     FROM tbl_volunteer_opportunity_member 
     GROUP BY volunteer_opp_id, status) vm ON vo.volunteer_opp_id = vm.volunteer_op_id 

我現在需要做一個表矩陣和/或數據源,使列的ConnectedIn ProcessNo Contact,併爲Other值合計,然後執行其他操作以便爲每個Other狀態進行擴展。

我不知道如何去做這些事情。

+0

您能提供提供的查詢的示例數據嗎? – mxix

回答

1

假設你有下面的格式返回數據的查詢:

+-------------+--------------------+-------------+-------+ 
| ProfileName |  Status  | StatusGroup | Count | 
+-------------+--------------------+-------------+-------+ 
| A   | Needed    | Needed  |  5 | 
| A   | Connected   | Connected |  3 | 
| A   | In Process   | In Process |  5 | 
| A   | No Contact   | No Contact |  2 | 
| A   | Other status  | Other  |  3 | 
| A   | Another status  | Other  |  6 | 
| A   | Yet another status | Other  |  2 | 
+-------------+--------------------+-------------+-------+ 

然後,您可以創建一個使用摘要名稱作爲行分組Tablix的,而StatusGroup爲列組。 Tablix中看起來像這樣的設計師

    +-----------------+ 
        | [StatusGroup] | 
+-----------------+-----------------+ 
| [ProfileName] | [Sum(Count)] | 
+-----------------+-----------------+ 

然後,您可以在右側添加六君煎列,並添加一個附加級別的欄目組互動展開/摺疊功能(擴大「其他」 StatusGroup轉換爲各個狀態)。使用SSRS表達式,您應該能夠隱藏非「其他」狀態組列標題上的展開/摺疊按鈕。

希望這足以讓你開始。

+0

這是一個好的開始 - 謝謝!我得到了基本的佈局。我沒有足夠的經驗來知道你的意圖是爲了讓擴展功能起作用。 「添加額外的關卡」是什麼意思? – dfoverdx

+0

看看[這裏](https://msdn.microsoft.com/en-us/library/dd220532.aspx)。在「列組」中,您會看到如何在其下有「CountryRegion」組的「地理」組?關於我的數據示例中的StatusGroup和Status兩列,您需要使用相同的結構。一旦在Tablix中有了這個結構,當點擊上面組的列標題時,您可以在內部組上啓用可見性切換,如[此處]所述(https://msdn.microsoft.com/en-us/庫/ dd220532.aspx)。祝你好運:-) – Dan

+0

太棒了。我調整了一下,但總的來說,這確實讓我走上了正軌。謝謝! – dfoverdx