보고서에 매개 변수 (다중 값) 표시


81

누구든지 SSRS 보고서에서 내 다중 값 매개 변수의 선택한 모든 값을 표시하는 방법을 알려줄 수 있습니까? 포기하면 parameter.value옵션이 오류를 제공합니다.


1
다음은 다중 값 매개 변수에 대한 대규모 블로그의 일부로 JOIN 함수를 사용하여 수행하는 방법입니다 : wiseowl.co.uk/blog/s187/multivalue-report-builder.htm .
Andy Brown

답변:


155

"Join"함수를 사용하여 다음과 같이 레이블 배열에서 단일 문자열을 만들 수 있습니다.

=Join(Parameters!Product.Label, ",")

그가 조인 expr을 헤더에 추가하면 결과가 보고서 본문에 걸쳐 증가하게됩니다.
mirezus

인터넷 검색을하면서 머리카락을 찢기 전에 좋은 답변을 해주셔서 감사합니다!
Pulsehead

3
또는=Join(Parameters!Product.Value, ",")
Doug_Ivison

각 제품에 페이지 나누기가 있으면 어떻게됩니까? 페이지 당 하나의 제품을 표시 할 수 있습니까?
Pepys

12

= Join (Parameters! Product.Label, vbcrfl) 새 줄


1
@nadiObi : 대신 vbCrLf 여야합니다 .
stomy

6

조인 기능에 대해 몰랐습니다-좋습니다! 코드 섹션에 배치 한 함수를 작성했습니다 (보고서 속성-> 코드 탭 :

Public Function ShowParmValues(ByVal parm as Parameter) as string
   Dim s as String 

      For i as integer = 0 to parm.Count-1
         s &= CStr(parm.value(i)) & IIF( i < parm.Count-1, ", ","")
      Next
  Return s
End Function  

+1 "Join"솔루션에 테이블 (보고서 머리글에 들어갈 수 없음)이 필요한 보고서 머리글에서 작동합니다.
제프

0

다른 누군가가 유용하다고 생각하기를 바랍니다.

결합을 사용하는 것이 다중 값 매개 변수를 사용하는 가장 좋은 방법입니다. 그러나 효율적인 '모두 선택'을 원하면 어떨까요? 100 개 이상이면 쿼리가 매우 비효율적입니다.

SQL 쿼리를있는 그대로 사용하는 대신이 문제를 해결하려면 식을 사용하여 변경 한 다음 (오른쪽 상단의 Fx 버튼 클릭) 다음과 같은 쿼리를 작성합니다 (음성 표시가 필요함).

= "Select * from tProducts Where 1 = 1 " 
IIF(Parameters!ProductID.Value(0)=-1,Nothing," And ProductID In (" & Join(Parameters!ProductID.Value,"','") & ")")

매개 변수에서 다음을 수행하십시오.

    SELECT -1 As ProductID, 'All' as ProductName Union All
    Select  
    tProducts.ProductID,tProducts.ProductName
    FROM
    tProducts

쿼리를 식으로 작성하면 SQL 문을보다 효율적으로 만들 수있을뿐만 아니라 'In'문에서 값을 처리하는 데있어 SQL Server의 어려움도 처리 할 수 ​​있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.