LOOKUPVALUE
하나 이상의 검색 조건에 지정된 모든 조건을 충족하는 행의 값을 반환합니다.
구문
LOOKUPVALUE (
<result_columnName>,
<search_columnName>,
<search_value>
[, <search2_columnName>, <search2_value>]…
[, <alternateResult>]
)
매개 변수
용어 | 정의 |
---|---|
result_columnName | 반환하려는 값이 포함된 기존 열의 이름입니다. 식일 수 없습니다. |
search_columnName | 기존 열의 이름입니다. result_columnName 같은 테이블이나 관련 테이블에 있을 수 있습니다. 식일 수 없습니다. 여러 쌍의 search_columnName 및 search_value 지정할 수 있습니다. |
search_value | search_columnName 검색할 값입니다. 여러 쌍의 search_columnName 및 search_value 지정할 수 있습니다. |
alternateResult | (선택 사항) result_columnName 컨텍스트가 0개 이상의 고유 값으로 필터링되었을 때 반환되는 값입니다. 지정하지 않으면 result_columnName 0 값으로 필터링되거나 result_columnName 컨텍스트에 둘 이상의 고유 값이 있는 경우 오류가 발생할 때 이 함수는 BLANK를 반환합니다. |
반환 값
search_columnName 및 search_value 모든 쌍이 정확히 일치하는 행의 result_columnName 값입니다.
모든 검색 값을 충족하는 일치 항목이 없으면 BLANK 또는 alternateResult (지정된 경우)가 반환됩니다. 즉, 일부 조건만 일치하는 경우 함수는 조회 값을 반환하지 않습니다.
여러 행이 검색 값과 일치하고 이러한 행에 대한 result_columnName 값이 동일하면 해당 값이 반환됩니다. 그러나 result_columnName 다른 값을 반환하는 경우 오류 또는 alternateResult(지정된 경우)가 반환됩니다.
설명
결과 열이 포함된 테이블과 검색 열이 포함된 테이블 간에 관계가 있는 경우 대부분의 경우 LOOKUPVALUE 대신 RELATED 함수를 사용하는 것이 더 효율적이며 더 나은 성능을 제공합니다.
여러 쌍의 search_columnName 및 search_value 지정할 수 있습니다.
함수가 검색 테이블의 행을 반복하기 전에 search_value 및 alternateResult 매개 변수가 평가됩니다.
LOOKUPVALUE에서 반환된 오류를 캡처하려면 ISERROR 또는 IFERROR 함수를 사용하지 마십시오. 단일 출력 값을 확인할 수 없을 때 함수에 대한 일부 입력으로 인해 오류가 발생하는 경우 alternateResult 매개 변수를 제공하는 것이 오류를 처리하는 가장 안정적이고 성능이 뛰어난 방법입니다.
power Pivot 계산 열에 지정된 경우 alternateResult 매개 변수는 오류를 반환합니다.
이 함수는 계산 열 또는 RLS(행 수준 보안) 규칙에서 사용되는 경우 DirectQuery 모드에서 사용할 수 없습니다.
예 1
이 예제에서 LOOKUPVALUE는 주문이 수행된 날 주문에 대해 지불하는 데 사용되는 통화의 평균 비율을 검색하는 데 사용됩니다.
Exchange Rate =
LOOKUPVALUE (
'Currency Rate'[Average Rate],
'Currency Rate'[CurrencyKey], [CurrencyKey],
'Currency Rate'[DateKey], [OrderDateKey]
)
주문 날짜와 통화는 모두 올바른 날짜와 통화에 대한 평균 요금을 찾는 데 필요합니다. OrderDateKey 및 CurrencyKey는 통화 비율 테이블에서 평균 금리를 조회하는 데 사용되는 키입니다.
환율을 사용하여 다음을 사용하여 현지 통화로 판매액을 계산할 수 있습니다.
Sales Amount Local Currency = [Sales Amount] * [Exchange Rate]
예제 2
이 예제에서 Sales 테이블에 정의된 다음 계산 열은 LOOKUPVALUE 함수를 사용하여 Sales Order 테이블에서 채널 값을 반환합니다.
CHANNEL =
LOOKUPVALUE (
'Sales Order'[Channel],
'Sales Order'[SalesOrderLineKey],
[SalesOrderLineKey]
)
그러나 이 경우 Sales Order와 Sales 테이블 사이에 관계가 있으므로 RELATED 함수를 사용하는 것이 더 효율적입니다.
CHANNEL = RELATED('Sales Order'[Channel])