[ 파워쿼리 ] if, 다중 if ( 조건열 ) 사용하기

2024. 11. 23. 08:26Power BI/파워 쿼리 ( Power Qeury )

728x90
반응형

파워쿼리를 이용한 조건 열 활용에 대해서 알아보겠습니다.

엑셀에서 if 함수와 동일하다고 생각하시면 좋을 것 같습니다.

엑셀에서도 참 많이 활용하는 내용인데 파워쿼리로 하는 방법을 알아보도록 하겠습니다.

우선 아래와 같이 데이터를 준비해 보도록 하겠습니다.


 

중구분 만들기

 

첫 번째로 문자를 처리하는 방법을 알아보도록 하겠습니다.

해당 데이터를 파워쿼리로 올려 보도록 하겠습니다.

반응형
 

[ 파워쿼리 ] 데이터 불러오기( with. Excel )

파워쿼리의 시작인 데이터 불러오기를 해 보도록 하겠습니다.아래와 같이 엑셀 데이터를 준비해 준 후 바탕화면에 저장해 주었습니다.원본은 건드리지 않는 것이 가장 좋기 때문에새로운 엑셀

sunconnector.tistory.com

 

 

파워쿼리 편집기에 다음과 같이 데이터가 올라온 것을 볼 수 있습니다.

중구분을 아래와 같은 기준으로 기준은 채소 / 과일로 나눠 보도록 하겠습니다.

과일 : 사과, 배, 수박

채소 : 양배추, 당근, 시금치

 

[ 열 추가 ] - [ 조건 열 ]을 사용해서 중구분을 구하는 방법입니다.

 

아래와 같은 창이 뜨면 아래와 같이 입력해 줍니다.

새 열 이름은 만들고자 하는 컬럼의 이름입니다. "중구분"이라는 컬럼으로 만들어 보도록 하겠습니다.

열 이름 연산자 출력 기타
만족하는 조건 값 True 값 False 값

열 이름 : 어떤 컬럼을 사용할지 선택하는 옵션

연산자 : 어떤 조건으로 입력할지에 대한 옵션

우선 구분의 값이 "사과"이면 "과일" 아니면 "미구분"을 입력해 달라는 내용입니다.

 

 

아래와 같은 결과가 나오게 됩니다.

조건이 두 가지 일 때는 "미구분" → "채소"라고 입력 주셔도 됩니다.

 

하지만 다른 항목에 대한 분류도 필요한 상황이므로 잘 못 된 결과를 초래할 수 있어

"미구분"으로 진행하는 것이 적절해 보입니다.

 



vs. 사용자 지정 열 사용






사용자 지정 열을 사용해도 같은 결과를 얻으실 수 있습니다

엑셀의 if 문과 다르게 파워쿼리에서는 if...then...else를 사용합니다.





일단 구분 컬럼의 값이 "사과"이면 중구분이라는 컬럼에 "과일"을 출력하고 아니면 "미구분"을 출력하라는 의미 입니다.


입력한 수식에 이상이 없으면 아래와 같은 문구가 발생합니다.





확인을 눌러 보면 아래와 같은 결과가 나오는 것을 볼 수 있습니다.


 


다중 조건 조건 열( 다중 if 문 )


이제 다른 항목에 대한 분류도 진행해 보겠습니다.

if문을 추가하는 작업을 해 보도록 하겠습니다.

엑셀에서 이러한 작업을 하면 if 문 안에 if 문을 넣어서 배우 복잡한 수식이 만들어지는데

파워쿼리에서는 꽤 가독성 좋은 입력을 하실 수 있습니다.

 

아래와 같이 [ 절 추가 ]를 눌러보도록 하겠습니다.

아래 같은 조건이 생기고 "배"의 중구분 입력을 위해서 

아래와 같이 입력해 주도록 하겠습니다.

아래와 같이 "배"도 과일로 분류되는 것을 볼 수 있습니다.

그럼 이제 "미등록"이 사라질 때까지 단순 반복 작업을 해 보도록 하겠습니다.

 

 

저는 타이핑이 매우 빠르기 때문에 아까 했던 사용자 지열 열 추가로 작업해 보도록 하겠습니다.

엑셀에서 처럼 중첩 if를 추가하였는데 맨 마지막 'else' 토큰이 필요합니다. 라는 문구가 나오고 있습니다.

 

오류 표시를 한번 눌러보도록 하겠습니다.

그러자 파란색 커서가 두 번째 if로 이동하는 것을 볼 수 있습니다.

친절하게 해당 항목이 틀렸다는 것을 보여 주고 있습니다.

 

 

else 토큰이 필요하다는 내용과 오류가 발생한 곳으로 가서 살짝 앞에 else를 입력해 보도록 하겠습니다.

아래와 같이 오류가 발생하지 않는 것을 볼 수 있습니다.

 

 

사용자 지열 열은 입력 후 복사해서 내용만 바꾸기 때문에 조건열보다 사용이 편리할 경우도 있습니다.

그럼 이제 과일의 조건이 완성이 되었으니 미등록된 것을 "채소"로 해주면 간단하게 마무리가 될 것 같습니다.

 

이제 마무리가 되었으니 아래의 쿼리를 닫기 및 로드를 눌러 표로 변환해 주도록 하겠습니다.

 

 

아래와 같이 중구분이 나누어지는 것을 볼 수 있습니다.

 

 

그런데 이 결과는 과연 올바를 결과일까요?

 

파란색 데이터 테이블에 멜론을 추가하고 우측 초록색 결과 테이블을 새로 고침해 보도록 하겠습니다.

 

 

멜론은 과연 채소가 맞을까요?

데이터를 관리할 때는 현재에 대한 내용처리도 중요하지만

앞으로 추가되는 항목에 대한 것도 생각해 주어야 best입니다. 

 

수고스럽지만 단순 반복 작업을 해 줍니다.

때로는 자동화보다는 원시적 방법이 더 좋을 때가 있습니다.

 

그럼 이제 멜론 항목이 미등록되어 있고 해당 항목에 대한 분류를 해줌으로써

올바를 결과 도출이 가능한 데이터 처리가 가능합니다. 


 

숫자 필터링

 

이번에는 원하는 조건의 숫자의 값을 구해 보도록 하겠습니다.

이번에는 판매량 기준으로 조건 열을 추가하는 방법입니다.

조건 컬럼을 만들 것이고 조건은 아래와 같이 입력해 주었습니다.

확인을 눌러보도록 하겠습니다.


그런데 한가지 다른 것이 보입니다. "포함" / "포함하지 않음" 옵션이 보이지 않습니다.

이유는 바로 해당 컬럼이 숫자형식으로 되어 있기 때문입니다

( 그래서 문자 옵션은 보이지 않음 )

 

 

그럼 아래와 같이 20 미만의 값만 ok 값이 나오는 것을 볼 수 있습니다.

 

 

조건 필터에서 "ok"만 선택 후 확인을 눌러 준 후 조건 컬럼을 지워 주도록 하겠습니다.

 

닫기 및 로드를 누르자 다음과 같은 결과가 나오는 것을 볼 수 있습니다.

 

이전에 살펴보았던 매개 변수와 같이 활용하면 좀 더 다이나믹한 결과를 얻을 수 있을 거 것 같습니다.

728x90
 

[ 파워쿼리 ] 매개 변수 활용

파워쿼리 매개 변수를 활용하는 방법을 알아보도록 하겠습니다.매개 변수를 활용하면 좀 더 다이나믹한 데이터 관리가 가능합니다.아래와 같은 데이터를 준비해 주도록 하겠습니다. 이 전에는

sunconnector.tistory.com

 

아래와 같이 매개변수 [ 조건 ]을 만들어 주고 숫자를 변경해 보도록 하겠습니다.

매개 변수 조건 값을 30으로 바꾸자 아래와 같은 결과가 나오는 것을 볼 수 있습니다.

 

 

사실 파워쿼리의 하나하나는 쉬운데 어려운 것은 알고 있는 것을 조합하는 것인 거 같습니다.

물론 엑셀도 마찬가지고요

 

 

728x90
반응형