[ 파워쿼리 ] null 값 바꾸기 ( 결측값 처리 )

2024. 11. 24. 08:22Power BI/파워 쿼리 ( Power Qeury )

728x90
반응형

파워쿼리를 이용한 null값 변경하는 방법을 알아보도록 하겠습니다.

보통 결측값처리라고 이야기하는 방법입니다.


아래로 채우기

 

아래와 같은 데이터를 준비해 주도록 하겠습니다.

아래의 데이터는 보기에는 좋지만 분석에는 좋은 데이터는 아닙니다.

데이터를 가공하는데 처음에 중요한 것은 Visual이 아닌 형식이 더 중요합니다.

디자인은 마지막에 해도 충분합니다.

 

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

다음과 같이 빈칸은 null값으로 나오는 것을 알 수 있습니다.

해당 테이블을 닫기 및 로드를 눌러 바로 엑셀 표로 전환해 보도록 하겠습니다.

 

아래와 같이 원래와 동일한 데이터가 나오는 것을 볼 수 있습니다.

그럼 우측의 초록색 테이블을 가지고 피벗 차트 막대그래프를 한번 만들어 보도록 하겠습니다.

 

아래와 같이 막대 그래프를 한번 만들어 보도록 하겠습니다.

a, b, c의 값이 1분기만 표기되며 2, 3, 4 분기는 비어 있는 것을 알 수 있습니다.

아까 파워쿼리 창에서 본 것처럼 null 값이 있기 때문에 해당 항목을 가져오지 못하는 상황입니다.

 

 

다시 파워쿼리 창을 열어주도록 하겠습니다.

null값을 상위 행으로 채워줘 보도록 하겠습니다.

구분 컬럼에 값이 있으면 그 값을 아래로 채우겠다는 의미 입니다.

 

확인을 누르고 닫기 및 로드를 누른 후 [ 피벗 차트 분석 ] - [ 새로고침 ]을 눌러주면 아래아 같이 

원하는 차트를 얻을 수 있습니다.


 

특수문자 제거

 

이번에는 아래와 같이 빈칸 없이 잘 입력해 주었는데 이번에는 중간중간 특수 문자가 있는 상황입니다.

 

 

아래와 같이 막대그래프를 그려보니 뭔가 맞지 않는 상황이 발생하고 있습니다.

패턴을 살펴보니 중간중간 "_"의 특수문자가 들어가 있는 것을 볼 수 있습니다.

 

 

이번에는 구분 우클릭 후 값 바꾸기를 클릭해 보도록 하겠습니다.

 

다음과 같은 창이 생성이 되면 아래와 같이 입력해 주도록 하겠습니다.

찾을 값 : 어떤 값을 찾고 있어? ( 바꾸고자 하는 대상 문자 )

바꿀 항목 : 어떻게 변경할래?

"_"의 문자를 찾아서 공백으로 변경하고 싶다는 내용입니다.

반응형

 

 

확인을 누르고 닫기 및 로드를 누른 후 차트를 새로고침 해주면 원하는 결과를 얻을 수 있습니다.

 


문자 변경 하기

 

이번에는 구분에 제품명을 써줘야 하는데 하나의 항목을 누락하고 입력을 했습니다.

 

물론 알아보지 못하는 것은 안이지만 "a"의 값이 뭔지 궁금합니다.

"apple"인지 "avocado"인지 알 수가 없는 상황입니다.

 

 

다시 파워쿼리 창으로 이동 후 값 바꾸기 옵션에서 "a"의 항목을 "apple"로 바꿔 주도록 하겠습니다.

 

 

아 처음보다 안 좋을 결과가 나오는 것을 볼 수 있습니다.

다시 처음으로 돌려서 그냥 "a"가 "apple"이라고 보고 하는 것이 좋을 것 같습니다.

 

 

하지만 파워쿼리에는 해당 사항에 대한 고급 옵션이 있습니다.

바로 전체 셀 내용 일치 옵션입니다.

해당 항목을 체크 후 확인을 다시 눌러 주도록 하겠습니다.

 

 

엑셀에서 변경하는 방법에 있는 옵션과 동일한 방법입니다.


조건을 만족하는 항목만 변경

 

이번에는 조건을 만족하는 항목만 변경하는 방법을 알아보도록 하겠습니다.

이번에는 분기에 결측값이 발생하였습니다.

 

파워쿼리 창을 열어 보도록 하겠습니다.

 

위에서 했던 것처럼 분기에서 값 바꾸기를 한 후 아래와 같이

null 값을 2라고 입력 후 결측값을 처리하면 될 것 같습니다. 

 

아래와 같이 원하는 결과가 도출되는 것을 볼 수 있습니다.

아니죠. 틀렸습니다.

banana의 3분기가 보이지 않습니다. banana는 3분기에 판매량이 "0"이면 말이 되는데

상식적으로 하나도 안 팔리는 게 말이 될까요?

다시 살펴보니 banana는 null이 2가 아닌 3이 되어야 맞는 값을 것 같습니다.

 

이때 살짝 수식창을 한번 보도록 하겠습니다.

null값이 보이고 2라는 숫자가 보입니다.

아까 입력한 null 값과 변경을 원하는 값이 각각 입력되어 있는 상황입니다.

 

아래 2의 값을 아래와 같이 변경해 보도록 하겠습니다.

파워쿼리 if 문을 응용한 방법입니다.

each if [ 구분 ] = "apple" then 2 else 3
728x90
 

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

파워쿼리를 이용한 조건 열 활용에 대해서 알아보겠습니다.엑셀에서 if 함수와 동일하다고 생각하시면 좋을 것 같습니다.엑셀에서도 참 많이 활용하는 내용인데 파워쿼리로 하는 방법을 알아보

sunconnector.tistory.com

 

그리고 확인을 누르면 아래와 같이 값이 변경되는 것을 볼 수 있습니다.

 

그럼 아래와 같이 정상적으로 원하는 그래프가 나오는 것을 볼 수 있습니다.

728x90
반응형