2013-05-07 86 views
2

分組我有一個SSRS表矩陣與此類似:SSRS - 計數由列和行中Tablix的

+----------+-----------+--------+--------+ 
| Total | RowGroup | Group1 | Group2 | 
+----------+-----------+--------+--------+ 
| Perdiod1 | RowGroup1 | Value | Value | 
|   | RowGroup2 | Value | Value | 
| Perdiod2 | RowGroup1 | Value | Value | 
|   | RowGroup2 | Value | Value | 
| Perdiod3 | RowGroup1 | Value | Value | 
|   | RowGroup2 | Value | Value | 
+----------+-----------+--------+--------+ 

現在,每個時期,我要計算每個組中的計數。當我這樣做:

Count(TableValue.Value, "Perdiod") 

我得到的總期間(兩列組)。當我做

Count(TableValue.Value, "ColumnGroup") 

我得到所有時期的總和。所以真的,我需要做的是這樣的:

Count(TableValue.Value, "TablixRow", "TablixColumn")

這顯然不存在。

所以「值」應該是一個時期

(因此,在上面給出的例子中,值將是在每個週期(一次爲每個RowGroup)重複兩次)內的一組的總計數是否有一個在SSRS的tablix中顯示指定列和行組中所有值的計數的方法?

回答

2

您只需將聚合表達式添加到矩陣詳細信息字段中,而不指定範圍(例如,是這樣的:

=Count(Fields!Value.Value) 

既然你不提供範圍,總將在其目前的範圍,這對於那些值字段將成爲特定組/期組合計算。

編輯點評/更新後

嗯......我試圖想一個簡單的方法來做到這一點,但未來空手而歸......我搞亂周圍,可以得到不同的任意組合你想要的那個。

基本上你正在尋找的東西,如:

=Count(Fields!Value.Value, "ParentRowGroup", "CurrentColumnGroup") 

,我想不出來做到這一點的有效途徑。

老實說(這不會是SSRS的第一次)這裏阻力最小的路徑是當你生成它時,將你想顯示的額外列作爲額外列添加到你的DataSet中,然後只顯示這個價值在矩陣的細節未集聚。

令人討厭的是,如果你能控制DataSet,那麼在報告級別解決什麼是困難的問題是一個簡單的解決方案。

+0

我可以做到這一點,但實際上我的要求不同,我剛剛意識到這一點,感謝您的回答並編輯了我的問題。因此,基本上,每個值應該代表組和週期的總和(因此,在上述示例中應該重複兩次該值)。 – tomsky 2013-05-07 14:14:31

+0

添加了我的想法,請參閱上文。 – 2013-05-07 16:29:30

+0

謝謝你的回覆伊恩。轉到存儲過程並將其更改爲解決此問題的唯一選項正是我所擔心的,因爲在報告定義中計算了「期間」組,因爲用戶可以選擇要分組的期間。另外,我們希望避免存儲過程中的任何分組,因爲它被多個報表使用。 – tomsky 2013-05-08 06:37:50

0
=CountRows() 
=CountRows("GroupByInitial") 
=CountRows("GroupByInitial",Recursive)