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
매개 변수는 함수가 검색 테이블의 행을 반복하기 전에 평가됩니다.ISERROR 또는 IFERROR 함수를 사용하여 LOOKUPVALUE반환된 오류를 캡처하지 않습니다. 단일 출력 값을 확인할 수 없는 경우 함수에 대한 일부 입력으로 인해 오류가 발생하는 경우
alternateResult
매개 변수를 제공하는 것이 오류를 처리하는 가장 안정적이고 성능이 뛰어난 방법입니다.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 OrderSales 테이블 간에 관계가 있으므로 RELATED 함수를 사용하는 것이 더 효율적입니다.
CHANNEL = RELATED('Sales Order'[Channel])