[ 파워쿼리 ] 특정 항목의 합계 구하기 ( 리스트 필터링 )

2024. 11. 18. 18:44Power BI/파워 쿼리 ( Power Qeury )

728x90
반응형

파워쿼리를 이용한 특정 항목의 합계를 구해 보도록 하겠습니다.

엑셀에서 구현하는 방법을 알아보기 위해서 간단한 예제를 먼저 들어보도록 하겠습니다.

다음과 같은 테이블에서 k값의 합을 구하는 방법은 무엇일까요?

가장 쉽게 사용하는 함수는 Sumif 함수 일 것입니다.

 

 

함수를 사용해서 값을 구하면 아래와 같은 값을 구할 수 있습니다.

그렇다면 k & o의 합계를 구하고 싶다면 어떨까요?

 

 

아래와 같이 값을 아래 추가 해 준 후 함수를 아래로 내려서 결과값을 구할 것입니다.

이러한 작업을 파워쿼리로 해보도록 하겠습니다.


 

다음과 같이 2개의 테이블을 준비해 줍니다.

값이 있는 데이터 테이블 & 하나는 구하고자 하는 특정 값이 들어 있는 target 테이블입니다.

 

두 개의 테이블을 파워쿼리로 불러와 보도록 하겠습니다.

하나는 데이터 테이블이고 하나는 구하고자 하는 특정 항목의 값입니다.

 

 

우선 특정값을 필터링하는 가장 간단한 방법은 필터를 거는 방법입니다.

아래와 같이 구분에서 필터를 걸어 k를 선택해 준 후 로드를 해주면 원하는 결과를 얻을 수 있습니다.

수식을 사용하거나 할 필요 없이 바로 결과를 얻을 수 있습니다.


반응형

하지만 데이터를 다루는 데 있어 항상 이렇게 간단한 데이터만 있으면 정말 좋겠지만

실제로 맞이하는 데이터를 정말 다양한 변수가 존재하기 때문에

다양한 대응방안을 알고 있어야 빠른 대응이 가능할 수 있을 것 같습니다.

우선 다시 돌아와서 아무 값이나 필터를 한번 걸어보도록 하겠습니다.

= Table.SelectRows( #"변경된 유형", each ( [ 구분 ] = "b" ) )

위와 같은 함수가 수식줄에 생성이 되는 것을 볼 수 있습니다.

간단하게 설명드리면 변경된 유형단계 테이블에서 [ 구분 ] 컬럼의 값이 "b"를 구해달라는 이야기입니다

이러한 구조를 바탕으로 target 값과 동일한 값을 필터링하는 방법을 알아보겠습니다.

처음으로 "b"의 값 대신에 target이라는 변수를 입력해 줍니다.

이것은 target 테이블을 가져오겠다는 의미입니다.

하지만 결과값이 나오지 않는 것을 볼 수 있습니다.

 

target 값은 테이블의 형식이기 때문에 값을 반환하지 못합니다. 

해당 테이블을 리스트 - 문자로 지속적으로 드릴다운 해 나가야 할 것 같습니다.

target 특정 값 컬럼에서 우클릭 후 드릴다운을 눌러 줍니다.

그럼 아까와 다르게 target 테이블이 문자열이 되면서 우측과 같이 문자가 나오는 것을 볼 수 있습니다.

그럼 바로 위에 있는 data 테이블을 클릭해 보도록 하겠습니다.

 

 

아래와 같이 k의 값이 구해지는 것을 볼 수 있습니다.

 

 

닫기 및 로드를 눌러 주시면 아래와 같이 처음과 같은 결과를 얻을 수 있습니다.


 

리스트를 이용한 필터링

 

이제 처음 엑셀의 예제와 같이 아래 리스트를 추가하면서 값을 구하는 것을 알아보도록 하겠습니다.

이번에는 특정 값이 아닌 특정 값 컬럼에서 드릴다운을 클릭해 줍니다.

 

 

이번에는 방금 전과 다르게 목록이 생성이 되는 것을 볼 수 있습니다.

이것을 파워쿼리에서는 리스트라고 부릅니다.

이 리스트를 가지고 데이터를 필터링해 보도록 하겠습니다.

 

다시 데이터 테이블을 눌러보면 아까 타깃이 테이블 형식일 때와 같은 결과가 나오는 것을 볼 수 있습니다.

 

 

이번에는 each 뒤에 다음과 같이 입력해 보도록 하겠습니다.

List.Contains( target, [ 구분 ] ) 

이라는 함수입니다. 아까 제가 타깃의 형식이 리스트라고 이야기드렸는데 

함수를 잘 보시면 앞에 List가 붙어 리스트를 다룰 수 있는 함수임을 알 수 있습니다.

그럼 닫기 및 로드를 눌러보도록 하겠습니다.

 

 

아래와 같이 처음과 같은 결과가 나오는 것을 볼 수 있습니다.

 


리스트 필터 마법의 시작

※ 경고 : 여기까지 인내심 없이 안 보고 가신 분들은 후회가 될 것입니다.

728x90

이제 리스트 필터의 마법을 보여 드리도록 하겠습니다.

특정 값아래 "o"를 입력해 줍니다.

그리고 파워쿼리 창이 아닌 결과 테이블에서 우클릭을 누르고 새로 고침을 눌러 줍니다.

 

 

방금 새로 고침을 해보신 분이라면 알겠지만 해당 결과가 바로 변경이 되는 것을 볼 수 있습니다.

 

그럼 이번에는 "z"값을 입력해 보겠습니다.

그리고 한번 더 새로고침을 눌러줍니다

그럼 자동으로 값이 계속 변하는 것을 볼 수 있습니다.

 

그럼 이번에는 빼는 것도 한번 해 보도록 하겠습니다.

"k" 값을 한번 빼고 새로고침을 해 보도록 하겠습니다.

결과에서 k값이 바로 빠지는 것을 볼 수 있습니다.

728x90
반응형