Lookup 함수(보고서 작성기 3.0 및 SSRS)
이름/값 쌍을 포함하는 데이터 집합에서 지정된 이름과 일치하는 첫 번째 값을 반환합니다.
[!참고]
보고서 작성기 3.0 및 Business Intelligence Development Studio의 보고서 디자이너에서 보고서 정의(.rdl)를 만들고 수정할 수 있습니다. 각 제작 환경에서는 보고서 및 관련 항목을 만들고, 열고, 저장할 수 있는 여러 방법을 제공합니다. 자세한 내용은 microsoft.com 웹에서 보고서 디자이너 및 보고서 작성기 3.0에서 보고서 디자인(SSRS)을 참조하십시오.
구문
Lookup(source_expression, destination_expression, result_expression, dataset)
매개 변수
source_expression
(Variant) 현재 범위에서 평가되고, 조회할 키 또는 이름을 지정하는 식입니다. 예를 들면 =Fields!ProdID.Value와 같습니다.destination_expression
(Variant) 데이터 집합의 각 행에 대해 평가되고, 일치시킬 키 또는 이름을 지정하는 식입니다. 예를 들면 =Fields!ProductID.Value와 같습니다.result_expression
(Variant) source_expression = destination_expression인 데이터 집합의 행에 대해 평가되고, 검색할 값을 지정하는 식입니다. 예를 들면 =Fields!ProductName.Value와 같습니다.dataset
보고서의 데이터 집합 이름을 지정하는 상수입니다. 예를 들면 "Products"입니다.
반환 값
Variant를 반환하거나, 일치하는 항목이 없으면 Nothing을 반환합니다.
주의
Lookup을 사용하여 일대일 관계의 이름/값 쌍에 대한 지정된 데이터 집합에서 값을 검색할 수 있습니다. 예를 들어 테이블에 있는 ID 필드의 경우 Lookup을 사용하여 데이터 영역에 바인딩되지 않은 데이터 집합에서 해당하는 Name 필드를 검색할 수 있습니다.
Lookup은 다음을 수행합니다.
현재 범위에서 원본 식을 평가합니다.
지정된 데이터 집합의 데이터 정렬을 기반으로 필터가 적용된 후 지정된 데이터 집합의 각 행에 대해 대상 식을 평가합니다.
원본 식과 대상 식의 첫 번째 일치 항목이 발견되면 데이터 집합의 해당 행에 대해 결과 식을 평가합니다.
결과 식 값을 반환합니다.
일대다 관계가 있는 경우 단일 이름 또는 키 필드에 대해 여러 값을 검색하려면 LookupSet 함수(보고서 작성기 3.0 및 SSRS)를 사용합니다. 값 집합에 대해 Lookup을 호출하려면 Multilookup 함수(보고서 작성기 3.0 및 SSRS)를 사용합니다.
다음과 같은 제한 사항이 적용됩니다.
Lookup은 모든 필터 식이 적용된 후 평가됩니다.
조회 수준이 하나만 지원됩니다. 원본, 대상 또는 결과 식에는 조회 함수에 대한 참조가 포함될 수 없습니다.
원본 식과 대상 식의 데이터 형식이 같아야 합니다. 반환 형식은 평가된 결과 식의 데이터 형식과 같습니다.
원본, 대상 및 결과 식에는 보고서 또는 그룹 변수에 대한 참조가 포함될 수 없습니다.
Lookup은 다음 보고서 항목에 대한 식으로 사용할 수 없습니다.
데이터 원본에 대한 동적 연결 문자열
데이터 집합의 계산 필드
데이터 집합의 쿼리 매개 변수
데이터 집합의 필터
보고서 매개 변수
Report.Language 속성
자세한 내용은 집계 함수 참조(보고서 작성기 3.0 및 SSRS) 및 합계, 집계 및 기본 제공 컬렉션의 식 범위 이해(보고서 작성기 3.0 및 SSRS)를 참조하십시오.
예
다음 예에서는 제품 식별자 ProductID에 대한 필드를 포함하는 데이터 집합에 테이블이 바인딩되어 있다고 가정합니다. "Product"라는 별도의 데이터 집합에는 해당하는 제품 식별자 ID와 제품 이름 Name이 포함되어 있습니다.
다음 식에서 Lookup은 ProductID 값을 "Product" 데이터 집합의 각 행에 있는 ID와 비교한 다음, 일치하는 항목이 있으면 해당 행의 Name 필드 값을 반환합니다.
=Lookup(Fields!ProductID.Value, Fields!ID.Value, Fields!Name.Value, "Product")