2012-02-01 30 views
12

Tôi có thông số giá trị đa trong Báo cáo SSRS của mình hay không. Tôi muốn tìm hiểu xem (Chọn tất cả) có được kiểm tra trong tham số đó hay không.Thông số giá trị đa SSRS. Kiểm tra xem "Chọn tất cả" có được chọn

Nói cách khác, liệu tất cả các giá trị trong tham số được chọn hay chỉ một số giá trị được chọn.

Có thể không?

Tôi có thể tìm ra số lượng giá trị đã chọn thông qua Tham số! Tham số .Count. Có cách nào để tìm ra tổng số mục trong tham số đó không?

+0

phương pháp thay thế: thêm tùy chọn "tất cả" cụ thể http://stackoverflow.com/q/14328712/10245 –

Trả lời

4

Cách tiếp cận của bạn có vẻ tốt: Tôi sẽ làm cho các tùy chọn cho tham số đến từ tập dữ liệu.

Sau đó, bạn có thể sử dụng =COUNTROWS("DataSetName") để trả lại tổng số tùy chọn cho thông số của mình và so sánh số này với thông số! Tham số .Count như bạn đề xuất.

+0

Bạn sử dụng điều đó ở đâu? Tôi đã thử làm tham số báo cáo ẩn và tham số tập dữ liệu: "Không thể sử dụng chức năng tổng hợp và tra cứu trong thông số báo cáo" –

+1

Tôi sử dụng điều này trong phần nội dung của báo cáo và thay đổi văn bản tiêu đề. Nó có thể thay đổi khi nói "Các Sở đã chọn: Bán hàng, R & D" thành "Các phòng ban được chọn: " hoặc tương tự. –

0

Tôi cũng phải đối mặt với problem..I này giải quyết nó theo cách này ..

Tôi có một tham số multivalued tên "Carrier" ... Tôi đã thêm một tham số "CarrierHidden" mà là giống như "Carrier" chỉ là tôi đã làm cho khả năng hiển thị của nó là Ẩn.

= "Carrier =" & Switch (Tham số! CarrierHidden.Count = Parameters! Carrier.Count, "All", Parameters! Carrier.Count> 1 và Parameters! CarrierHidden.Count> Parameters! Carrier.Count, " Đa ", Tham số! Carrier.Count = 1, Tham số! Carrier.Label (0))

Điều này làm việc tốt cho tôi.

16

Trong trường hợp bất kỳ ai vẫn gặp sự cố khi thực hiện việc này, tôi vừa mã hóa bản sửa lỗi dễ dàng này.

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

Vấn đề là nếu bạn đang cố kéo thứ gì đó cho một tập dữ liệu khác thì việc tham chiếu chéo số hàng trong tập dữ liệu khác sẽ không hoạt động. Bạn sẽ phải đi với những gì bài viết trước đó nói. Tạo thông số nội bộ của loại chính xác và gán giá trị mặc định cho toàn bộ tập dữ liệu. Bằng cách đó bạn có số lượng tối đa các hàng kể từ khi ẩn parameter.count = rowscount. Bằng cách đó bạn có thể sử dụng nó trong tập dữ liệu khác cũng đã cung cấp tập dữ liệu đó SAU KHI tập dữ liệu đầu tiên được điền.

+1

Chào mừng bạn đến với Stackoverflow. Không chắc chắn câu trả lời của bạn có chính xác hay không, nhưng hãy thử thêm một chút [định dạng] (http://meta.stackexchange.com/questions/3122/formatting-sandbox/25065#25065). Tường của văn bản (Tôi biết điều này không thực sự là một bức tường) nói chung là nản lòng. –

-1

Theo ssrs của microsoft, hãy tìm kiếm:

= Tham số! .Count Trả về giá trị số nguyên 1. Đối với tham số giá trị đơn, số đếm luôn là 1.

Tôi đã xác minh điều này thực sự hoạt động, kiểm tra số nguyên được trả về cho trường số tham số dựng sẵn.

Cho phép nhiều giá trị trên lựa chọn tham số. Kiểm tra giá trị của trường ở trên sẽ cho bạn biết số lượng giá trị mà người dùng thực sự đã chọn.

Trong trường hợp của tôi, tôi cho phép nhiều giá trị trên số công ty. Điều này mang lại cho người dùng khả năng chọn một công ty để báo cáo hoặc một số công ty cùng một lúc. Mỗi yêu cầu của khách hàng, nếu họ chọn nhiều hơn một, hiển thị dữ liệu theo chiều ngang. Nếu chỉ có một công ty được chọn trong danh sách tham số, hãy hiển thị dữ liệu theo chiều dọc và ẩn tablix khác.

Vì vậy, chương trình tầm nhìn của mình hoặc ẩn biểu hiện trông như thế này trong một tablix:

= IIF (Các thông số company_number.Count> 1, True, False!)

và như thế này trong khác:

= IIF (tham số! Company_number.Count = 1, True, False)

Chúc mừng mã hóa! Robyn

5

Đối với trường hợp sử dụng cụ thể để hiển thị bộ lọc đã chọn trên báo cáo của bạn trong hộp văn bản, đây là biểu thức sẽ hiển thị "Tất cả" nếu "(Chọn tất cả)", nếu không nó sẽ hiển thị tất cả các lựa chọn giá trị như một danh sách bằng dấu phẩy:

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

(chia vào nhiều dòng cho dễ đọc)

countrows tham khảo: https://technet.microsoft.com/en-us/library/dd255215.aspx


Tín dụng cho các câu trả lời khác, chỉ muốn mở rộng chúng cho trường hợp phổ biến này.

Các vấn đề liên quan