2012-02-01 78 views
12

我在SSRS報告中有一個多值參數。我想知道是否在該參數中選擇了(全選)。SSRS多值參數。檢查是否選擇「全選」

換句話說,是檢查參數中的所有值還是僅檢查一些值。

可能嗎?

我能夠通過參數找出選定值的數量! 參數。計數。有沒有辦法找出該參數中的項目總數?

+0

替代方法:添加特定的「全部」選項http://stackoverflow.com/q/14328712/10245 – 2015-05-22 17:07:15

回答

4

你的方法聽起來不錯:我會讓參數的選項來自數據集。

然後,您可以使用=COUNTROWS("DataSetName")返回參數的選項總數,並將其與參數進行比較! 參數。按照您的建議計算。

+0

你在哪裏使用它?我試圖作爲一個隱藏的報告參數和數據集參數:「報告參數中不能使用聚合和查找功能」 – 2017-07-17 15:52:20

+1

我在報告正文中使用它,並更改標題文本。從「選定部門:銷售,研發」到「選定部門:<所有部門>」或類似情況可能會有所不同。 – 2017-07-17 16:41:37

0

我也面臨這個problem..I解決它這樣..

我有一個多值參數名爲「開利」 ......我已經加入一個參數「CarrierHidden」,這是相同的只是作爲「載體」事情是我把它的可見性設置爲隱藏。

= 「承運人=」 &開關(參數!CarrierHidden.Count =參數!Carrier.Count, 「全部」, 參數!Carrier.Count> 1和參數!CarrierHidden.Count>參數!Carrier.Count「 Multi「, Parameters!Carrier.Count = 1,Parameters!Carrier.Label(0))

這對我來說很好。

16

如果任何人仍然有這樣做的問題,我只是編碼這個簡單的修復。

=IIF(COUNTROWS("dataset").Equals(Parameters!parameter.Count),"it is equal","this is not equal") 
0

問題是如果您試圖拉另一個數據集的東西,然後交叉引用另一個數據集中的行數不起作用。你將不得不採取以前的職位狀態。創建一個確切類型的內部參數並將默認值分配給整個數據集。這樣你就擁有隱藏的parameter.count = rowscount以來的最大行數。這樣,您可以在另一個數據集中使用它,並且在第一個數據集被填充後提供該數據集。

+1

歡迎來到Stackoverflow。不確定你的回答是否正確,但是嘗試添加一些[格式](http://meta.stackexchange.com/questions/3122/formatting-sandbox/25065#25065)。文字牆(我知道這不是真正的牆)通常是不鼓勵的。 – 2013-11-20 18:41:06

-1

根據微軟的SSRS幫助搜索:

=參數! .Count 返回整數值1.對於單值參數,計數始終爲1.

我驗證了這確實起作用,請檢查爲內置參數計數字段返回的整數。

允許參數選擇的多個值。檢查上述字段的值將讓您知道用戶實際選擇了多少個值。

在我的情況下,我允許公司編號的多個值。這使用戶能夠選擇一家公司一次或多次報告。根據客戶端請求,如果他們選擇多個請求,則水平顯示數據。如果在參數列表中只選擇了一個公司,則垂直顯示數據並隱藏其他Tablix。

所以我的可視性顯示或隱藏式看起來像這樣的一個表矩陣:

= IIF(參數company_number.Count> 1,真,假的!)

像這樣在對方:

= IIF(參數!company_number.Count = 1,True,False)

快樂編碼! Robyn

5

對於在文本框中在報表中顯示選定過濾器的特定用例,下面是如果選擇「(全選)」將顯示「全部」的表達式,否則將顯示所有選中的值作爲逗號分隔的列表:

=IIF(
    Parameters!YourMultivalueParam.Count = countrows("YourDataset"), 
    "All", 
    Join(Parameters!YourMultivalueParam.Label,", ") 
) 

(拆分到多個線,用於閱讀)

​​參考:https://technet.microsoft.com/en-us/library/dd255215.aspx


感謝其他答案,只是想擴展它們以適應這種常見的情況。