2012-07-30 6 views
1

ssrs 보고서에 "국가"필터 드롭 다운 목록이 있습니다. 여기에는 모든 국가가 포함되며 다중 선택 드롭 다운 목록입니다. 사용자가 "모두"를 선택하면 보고서는 데이터를 표시 할 쿼리가있는 저장 프로 시저로 쉼표로 구분 된 모든 국가 이름을 보냅니다. 저장된 프로 시저에서 값을 분할하고 데이터를 비교하십시오. 지금까지 문제 없음. 이제 내가 원하는 것은 "All"을 선택하면 모든 쉼표로 구분 된 값을 SP에 전달할 필요가 없으며 대신 null을 전달합니다. 그래서 내 SP 나는 분할하거나 테이블에 가입하지 않아도됩니다. 문제는 사용자가 보고서 기준에서 '모두'확인란을 선택했는지 확인하는 것입니다. '전체'가 선택되었는지 여부를 확인하는 방법이 있습니까?SSRS 필터 매개 변수

국가가 동적이므로 모든 국가를 셀 수있는 조회 값이 없습니다. 매개 변수! Country.Count == 10 - 내가 모르는 때문에 이것을 할 수 없습니다.

답변

0

숫자 국가를 계산할 때 별도의 데이터 집합을 만들 수 있습니다. !

Select count(countryName) as cntCountry from yourTable 

이제 Country.Count을 매개 변수로

Fields!cntCountry.Value==Parameters!Country.Count 

을이 분야 cntCountry을 비교할 수 또는 데이터 세트를

Parameters!Country.Count=CountRows(dataset1) 

편집을 통과에 어디 CountRows 기능을 사용할 수 있습니다 : 만약 위의 하나가 작동하지 않습니다

Parameters!Country.Count=CountRows() 

데이터 집합에 행 수를 저장하는 필드를 만들면 안됩니다 .SQL 쿼리에서 row_number를 얻은 다음이 값을 Parameters!Country.Count과 일치 시키십시오.

+0

Thanks Praveen, unortunately CountRows dataset1) 작동하지 않습니다. 오류 메시지는 다음과 같습니다. @Country는 집계 또는 조회 기능을 포함합니다. 집계 및 조회 함수는 쿼리 매개 변수에 사용할 수 없습니다. 여기서 핵심은 성능을 조정하는 것입니다. 당신이 말했듯이, 나는 데이터베이스에서 국가 수를 얻을 수 있지만 이것은 데이터의 작은 amout에 대한 확인입니다. 하지만 더 많은 행을 가진 다른 데이터 세트가있을 수 있습니다. 이 일을 다른 방법으로 해주시겠습니까? – pili

+0

@pili : 내 업데이트 된 ans보기! – praveen