2012-06-08 63 views
7

我想在我的SSRS報告頭內的文本框中顯示經過過濾的Tablix的行計數。我搜索了一下,但沒有任何幫助。計算SSRS中已過濾的Tablix的行

this link的建議給了我數量,但是這個數字僅限於當前頁面上的行數。即使我的結果有2頁,我也只在第一頁中獲得行數。

我也嘗試添加一個新的行號列,然後顯示它的值在標題的文本框中但問題保持與上面相同。

我在報告中(我使用過濾器自定義代碼)使用全局共享變量嘗試,這有助於高達的程度,但他們在不斷積累價值的每次我點擊查看報告按鈕:(

也請考慮在存儲過程中移動的過濾條件不適合我的選擇。

感謝, 拉維

回答

3
白色部分和外

右鍵單擊頁面,你會得到的ReportProperties部分。

將頁面高度調整爲500(您可以將其設置爲最高,只會將頁面擴展至所需的高度)單擊確定

返回到頁面,右鍵單擊您的Tablix並點擊插入文本框。

右鍵單擊文本框並單擊表達式。

粘貼=CountRows()

點擊確定,預覽報表。希望這是你所要求的。

12

下面的解決方案對我來說就像一個魅力。這是從asp.net論壇上的QuestionDude發佈的信息here

  1. 在細節組外部的tablix底部添加一行。
  2. 在此「頁腳」行中的任何單元格中,將表達式設置爲=COUNT("Fields.[pick a field].Value")。總是偏執,我用了一個獨特的領域。不確定是否重要。我們稱這個單元格爲Textbox17。
  3. 在Tablix之外,可以使用表達式ReportItems!Textbox17.Value來顯示已過濾的Tablix的行數。
  4. 隱藏頁腳行。

All credit to QuestionDude。

0

對我來說,計數對過濾的數據集無效,它總是(COUNT和COUNTROWS)都返回原始數據集的計數。

因爲我沒有找到使它工作的方法,所以我最終使用了CountDistinct,因爲過濾是靜態的,我知道要依靠哪個數據列值。

=CountDistinct(Fields![Fieldname].Value)