누구든지 SSRS 보고서에서 내 다중 값 매개 변수의 선택한 모든 값을 표시하는 방법을 알려줄 수 있습니까? 포기하면 parameter.value
옵션이 오류를 제공합니다.
답변:
"Join"함수를 사용하여 다음과 같이 레이블 배열에서 단일 문자열을 만들 수 있습니다.
=Join(Parameters!Product.Label, ",")
=Join(Parameters!Product.Value, ",")
조인 기능에 대해 몰랐습니다-좋습니다! 코드 섹션에 배치 한 함수를 작성했습니다 (보고서 속성-> 코드 탭 :
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
다른 누군가가 유용하다고 생각하기를 바랍니다.
결합을 사용하는 것이 다중 값 매개 변수를 사용하는 가장 좋은 방법입니다. 그러나 효율적인 '모두 선택'을 원하면 어떨까요? 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의 어려움도 처리 할 수 있습니다.