이름/값 쌍이 포함된 데이터 세트에서 지정된 이름의 일치 값 집합을 반환합니다.
비고
보고서 작성기 및 SQL Server 데이터 도구의 보고서 디자이너에서 보고서 정의(.rdl)를 만들고 수정할 수 있습니다. 각 작성 환경은 보고서 및 관련 항목을 만들고, 열고, 저장하는 다양한 방법을 제공합니다. 자세한 내용은 microsoft.com 웹 의 보고서 디자이너 및 SSRS(보고서 작성기)에서 보고서 디자인을 참조하세요.
문법
LookupSet(source_expression, destination_expression, result_expression, dataset)
매개 변수
source_expression
(Variant) 현재 범위에서 평가되고 조회할 이름 또는 키를 지정하는 식입니다. 예: =Fields!ID.Value.
destination_expression
(Variant) 데이터 세트의 각 행에 대해 평가되고 일치시킬 이름 또는 키를 지정하는 식입니다. 예: =Fields!CustomerID.Value.
result_expression
(Variant) source_expression 데이터 세트의 행에 대해 계산되는 식 = 입니다.destination_expression 검색할 값을 지정합니다. 예: =Fields!PhoneNumber.Value.
데이터 세트
보고서의 데이터 세트 이름을 지정하는 상수입니다. 예를 들어 "ContactInformation"입니다.
돌아오다
VariantArray또는 Nothing 일치하는 항목이 없으면 반환합니다.
비고
LookupSet는 1 대 다 관계가 있는 이름/값 쌍에 대해 지정된 데이터 세트에서 값 집합을 검색하는 데 사용합니다. 예를 들어 테이블의 고객 식별자의 경우 데이터 영역에 바인딩되지 않은 데이터 세트에서 해당 고객의 연결된 전화 번호를 모두 검색하는 데 사용할 LookupSet 수 있습니다.
LookupSet 은 다음을 수행합니다.
현재 범위의 원본 표현식을 평가합니다.
지정된 데이터 세트의 데이터 정렬에 따라 필터가 적용된 후 지정된 데이터 세트의 각 행에 대한 대상 식을 평가합니다.
원본 식과 대상 식의 각 일치 항목에 대해 데이터 세트의 해당 행에 대한 결과 식을 평가합니다.
결과 식 값 집합을 반환합니다.
1 대 1 관계가 있는 지정된 이름에 대한 이름/값 쌍이 있는 데이터 세트에서 단일 값을 검색하려면 조회 함수(보고서 작성기 및 SSRS)를 사용합니다. 값 집합을 호출 Lookup 하려면 Multilookup 함수(보고서 작성기 및 SSRS)를 사용합니다.
다음 제한 사항이 적용됩니다.
LookupSet는 모든 필터 식이 적용된 후 평가됩니다.한 수준의 조회만 지원됩니다. 원본, 대상 또는 결과 식은 조회 함수에 대한 참조를 포함할 수 없습니다.
원본 및 대상 식은 동일한 데이터 형식으로 평가되어야 합니다.
원본, 대상 및 결과 식에는 보고서 또는 그룹 변수에 대한 참조를 포함할 수 없습니다.
LookupSet다음 보고서 항목에 대한 식으로 사용할 수 없습니다.데이터 원본에 대한 동적 연결 문자열입니다.
데이터 세트의 계산 필드입니다.
데이터 세트의 쿼리 매개 변수입니다.
데이터 세트의 필터입니다.
보고서 매개 변수입니다.
Report.Language 속성입니다.
자세한 내용은 집계 함수 참조(보고서 작성기 및 SSRS) 및 합계, 집계 및 기본 제공 컬렉션에 대한 식 범위(보고서 작성기 및 SSRS)를 참조하세요.
예시
다음 예제에서는 테이블이 판매 지역 식별자 TerritoryGroupID를 포함하는 데이터 세트에 바인딩되어 있다고 가정합니다. "Store"라는 별도의 데이터 세트에는 영역의 모든 저장소 목록이 포함되며 지역 식별자 ID와 StoreName의 이름이 포함됩니다.
다음 식 LookupSet 에서 TerritoryGroupID 값을 "Stores"라는 데이터 세트의 각 행에 대한 ID와 비교합니다. 각 일치 항목에 대해 해당 행의 StoreName 필드 값이 결과 집합에 추가됩니다.
=LookupSet(Fields!TerritoryGroupID.Value, Fields!ID.Value, Fields!StoreName.Value, "Stores")
예시
LookupSet 개체 컬렉션을 반환하므로 결과 식을 텍스트 상자에 직접 표시할 수 없습니다. 컬렉션에 있는 각 개체의 값을 문자열로 연결할 수 있습니다.
Visual Basic 함수 Join 를 사용하여 개체 집합에서 구분된 문자열을 만듭니다. 쉼표로 구분 기호를 사용하여 개체를 한 줄로 결합합니다. 일부 렌더러에서는 Visual Basic 줄 바꿈(vbCrLF)을 구분 기호로 사용하여 각 값을 새 줄에 나열할 수 있습니다.
다음 식은 텍스트 상자의 Value 속성으로 사용되는 경우 목록을 만드는 데 사용합니다 Join .
=Join(LookupSet(Fields!TerritoryGroupID.Value, Fields!ID.Value, Fields!StoreName.Value, "Stores"),",")
예시
몇 번만 렌더링되는 텍스트 상자의 경우 텍스트 상자에 값을 표시하는 HTML을 생성하는 사용자 지정 코드를 추가하도록 선택할 수 있습니다. 텍스트 상자의 HTML에는 추가 처리가 필요하므로 수천 번 렌더링되는 텍스트 상자에는 적합하지 않습니다.
다음 Visual Basic 함수를 보고서 정의의 코드 블록에 복사합니다. MakeList 는 result_expression 반환되는 개체 배열을 사용하고 HTML 태그를 사용하여 순서가 지정되지 않은 목록을 작성합니다. Length 는 개체 배열의 항목 수를 반환합니다.
Function MakeList(ByVal items As Object()) As String
If items Is Nothing Then
Return Nothing
End If
Dim builder As System.Text.StringBuilder =
New System.Text.StringBuilder()
builder.Append("<ul>")
For Each item As Object In items
builder.Append("<li>")
builder.Append(item)
Next
builder.Append("</ul>")
Return builder.ToString()
End Function
Function Length(ByVal items as Object()) as Integer
If items is Nothing Then
Return 0
End If
Return items.Length
End Function
예시
HTML을 생성하려면 함수를 호출해야 합니다. 텍스트 상자의 Value 속성에 다음 식을 붙여넣고 텍스트의 태그 유형을 HTML로 설정합니다. 자세한 내용은 보고서에 HTML 추가(보고서 작성기 및 SSRS)를 참조하세요.
=Code.MakeList(LookupSet(Fields!TerritoryGroupID.Value, Fields!ID.Value, Fields!StoreName.Value, "Stores"))
또한 참조하십시오
보고서에 사용되는 식(보고서 작성기 및 SSRS)
식 예(보고서 작성기 및 SSRS)
식의 데이터 형식(보고서 작성기 및 SSRS)
합계, 집계 및 기본 제공 컬렉션에 대한 식의 범위 (SSRS 및 보고서 작성기)