전 글에서 VLOOKUP 함수를 대신해 DAX에서 사용할 수 있는 함수 LOOKUPVALUE에 관해 설명드렸습니다.

만일 모델 페이지에서 관계 설정이 가능하다면 LOOKUPVALUE라는 함수 대신 VLOOKUP 함수를 대신 할 수 있는 방법이 있습니다.

두 쿼리 (Quantity, Type)을 입력한 뒤 모델 페이지로 이동을 하면 Type끼리 자동으로 관계설정이 된 것을 확인할 수 있습니다.

두 쿼리 내에서 같은 같은 데이터를 담고 있는 열은 파워비아이에서 자동으로 인식해서 연결을 시킵니다.

이렇게 된다면, 위의 그림과 같이 Quantity라는 쿼리 내의 열 [Type] 과 Type라는 쿼리 내의 열 [Type] 이 서로 상호작용을 하게 되어 각 행에 해당되는 다른 열의 데이터를 가지고 올 수 있게 되는 거죠

마지막으로 데이터 페이지에서 '새 열'을 클릭한 후 RELATED 함수를 입력합니다.

아주 간단한 수식이 들어갈 텐데요

RELATED('Type'[Drywall]) 이라고 입력을 하면 엑셀의 VLOOKUP과 같은 결과를 가질 수 있습니다.

[Drywall]이라는 새로운 이름을 가진 열에 Type쿼리 내 [Drywall]에 해당되는 데이터를 가지고 오는데 관계가 설정된 열의 데이터가 똑같은 값을 가지고 오라는 수식​이 되는 겁니다.

이름을 좀 다르게 만들걸 그랬습니다.

설명을 드리고 나니 이름 때문에 약간 혼란스러운데, 크게 어려운 함수가 아니기에 이해하시는데 큰 무리는 없을 거라 생각합니다.

VLOOKUP 함수도 엑셀에서 많이 사용되는 함수중 하나라 생각됩니다.

다른 시트에 있는 여러 데이터를 쉽게 가지고 올 수 있는 함수입니다.

엑셀에 관한 설명은 넘어가기로 하고, 아래를 먼저 보겠습니다.

먼저 2개의 테이블이 있다고 가정하겠습니다.

하나는 모든 벽의 종류와 각 벽마다 몇 겹의 드라이월 보드가 들어가는지를 보여주는 테이블입니다.

다른 하나는 각 층별 벽의 종류와 각 벽의 수량으로 이루어진 테이블입니다.

여기서 드라이월 보드의 총면적을 구하려면 Quantity * Drywall이라는 수식이 필요하겠죠

엑셀이라면 VLOOKUP 함수를 사용해서 가져오면 되겠지만, Power BI에서는 VLOOKUP 함수가 존재하지 않습니다.

역시 비슷한 개념을 가진 LOOKUPVALUE라는 함수를 하용해야 하는데요

첫 번째 테이블 쿼리의 이름은 'Type'이고 두 번째 테이블 쿼리의 이름은 'Quantity'입니다.

그럼 Type 쿼리의 Drywall열의 숫자를 가지고 오는데 Type 쿼리의 Type열과 Quantity 쿼리의 Type열이 일치가 된 행의 값만 가지고 오면 되겠죠?

 

수식으로 나타내면 다음과 같습니다.

위의 수식을 잠시 설명하자면

Drywall이라는 열을 만드는데 'Type'[Type]과 Quantity[Type]가 일치를 할 경우 'Type'[Drywall]의 값을 가지고 오라는 수식이 되겠습니다.

엑셀의 VLOOKUP 함수와 입력방법이 약간 다르지만 크게 어렵지는 않다고 생각합니다.

여기서 전체 Drywall Board의 수량을 구하려면 Quantity열에 Drywall열을 곱하면 나오겠죠?

여기서는 SUMPRODUCT와 비슷한 개념을 가진 SUMX를 사용하겠습니다.

 

SUMX를 사용하여 Drywall Board의 총면적을 구했습니다.

SUM을 사용하지 않고 SUMX를 사용한 이유는 아래의 Total을 보면 아실 것입니다.

11071*68은 32679가 아닙니다.

왜 그런가는 전에 설명드린 SUM과 SUMX 함수의 차이점을 참조하시길 바랍니다.

Total Drywall의 합계를 보여주기 위해 SUM 함수 대신 SUMX 함수를 하용하였으며 아주 간단히 두 테이블을 이용해 Drywall Board의 면적을 계산하였습니다.

파워비아이 에서는 LOOKUPVALUE 함수가 엑셀의 VLOOKUP 함수와 똑같은 기능을 한다는 것과, LOOKUPVALUE의 입력방법을 알아두신다면 아주 유용하게 사용될 거라 생각됩니다.

 

+ Recent posts