아파트시계열 다루기(2):전처리작업 및 매개변수

들어가며

준비된 Raw-data인 엑셀파일을 가져와서 Power BI Desktop에서 전처리하는 과정에 대해서 살펴보도록 하겠습니다. 결론적으로 말씀드리면 전처리작업은 Power Query M 언어로 하게 되는데, 초보인 우리가 이를 직접 작성하는 것은 한계가 있습니다. 본 글에서는 제가 작성한 Power Query M 코드를 공유하면서 이를 통해서 Power BI 분석의 전체 흐름을 이해하는데 초점을 맞추시길 바라겠습니다.

본 글을 읽고 따라오는데 도움이 되는 이전 글 들 입니다. 아직 읽지 않았다면 먼저 읽고 오시길 바랍니다!!

Power BI Desktop 다운로드 및 설치 2가지 방법

아파트시계열 다루기(1):ROOT폴더와 Raw-Data준비

Power BI Desktop 엑셀파일 가져오는 4가지 방법

전처리할 데이터원본 가져오기

Power BI Desktop을 열면 가장 먼저 하여야 할 일이 바로 Raw-data를 가져오는 일 입니다. 여기서 Raw-dataKB부동산 주간아파트동향 시계열 엑셀 파일 입니다.

kb주간매매지수전처리01
kb주간매매지수전처리02

해당 kb_week.xlsx 파일을 열면 많은 시트들이 있습니다. 여기서 우리는 3.매매지수 시트를 열것이므로 이를 선택하여서 데이터 변환을 눌러주도록 하겠습니다.

kb주간매매지수전처리03

그러면 아래 처럼 파워쿼리편집기(Power Query Editor) 창이 나타납니다.

kb주간매매지수전처리04

이 파워쿼리편집기(Power Query Editor)의 리본메뉴에서 전처리과정 중가장 많이 그리고 유용하게 사용할 메뉴가 바로 변환, 열추가 탭입니다.

kb주간매매지수전처리05
kb주간매매지수전처리06

변환, 열추가 등 이런 일련의 작업들의 내용을 순차적으로 기록하는 공간이 쿼리설정>적용된단계 입니다. 우리는 앞서 접한 Power Query M 언어를 굳이 잘 알지 못 하더라도 변환, 열추가 리본메뉴에 있는 UI(User Interface: 사용자 인터페이스) 들을 통해서 Power Query M 언어를 작성할 수 있게 됩니다. 그리고 이 적용된단계 를 잘 조작할 수 있으면 전처리과정을 잘 제어할 수 있게 될 것 이므로 향후 이 부분에 대해서는 심도있게 다루어 보도록 하겠습니다.

Power Query M 언어 공식문서 한글 튜토리얼

https://learn.microsoft.com/ko-kr/powerquery-m/

kb주간매매지수전처리07

매개변수만들기

매개변수가 왜 필요한가?

여기서 잠깐!!

지금 부터 따라오는 것을 잠깐 멈추시고, 아래 저의 전처리한 내용을 한 번 살펴보세요!!

kb주간매매지수전처리08

지금 주터 제가 작업한 전처리과정을 담은 Power Query M 언어 로 된 코드를 살펴보도록 하겠습니다.

kb주간매매지수전처리09

위 같은 경로를 따라가시면 아래 처럼 작업한 내용을 Power Query M으로 작성된 코드를 볼 수 있습니다. 이 Power Query M언어는 제가 전처리한 과정 전체 내용을 그대로 기록하고 있는것을 볼 수 있습니다. 앞서 말씀드렸듯이 적용된단계코드버전이라고 생각하면 이해가 쉬울 것 입니다. 결국 적용된 단계 이 부분은 코드작성를 쉽게 할 수 있도록 사용자를 위한 UI(User Interface) 인것을 알 수 있습니다. 즉, 이 적용된단계 UI를 통해서 우리도 모르게 Power Query M을 작성하고 있었던 셈입니다.

kb주간매매지수전처리10

위 Power Query M 처음 부분을 잠시 살펴볼까요!!

복잡한 코드, 겁먹지 마세요!!

우리는 챗gpt같은 AI 도구가 있는 시대에 살고 있습니다. 요즘 코딩작업의 대부분들은 코드를 직접 작성하는게 아니라 해당 언어(Power Query M)의 원리만 이해하고 copy&paste 수준의 작업능력이 요구되는 경우가 다반사 입니다. 복잡한 코드 디버깅 등은 챗gpt에 맡겨버리면 되니 말입니다. 향후 글에서 챗gpt를 활용한 Power Query M 및 DAX식을 작성하는 법도 다루어 보도록 하겠습니다.

let
    원본 = Excel.Workbook(File.Contents("F:\powerbi114\kb_week.xlsx"), null, true),
    #"3.매매지수_Sheet" = 원본{[Item="3.매매지수",Kind="Sheet"]}[Data],
    #"승격된 헤더" = Table.PromoteHeaders(#"3.매매지수_Sheet", [PromoteAllScalars=true]),
..........이하 생략........

그럼 위 코드에서 바뀔 수 있는 부분은 무엇일까요??

변수란?

어떤 내용에서 바뀔 수 있는 값을 변수라고 합니다. 어느 특정값을 넣어버리면 바뀔 수 없는 정적내용이 되지만 바로 변수를 생성해서 넣어버리면 이 값은 바뀌게 출력이 되어서 동적내용이 되어버립니다. 동적은 자동화를 의미하게 됩니다. 따라서 변수 생성은 자동화에 있어서 아주 중요한 출발점이 됩니다.

바로 “F:\powerbi114\kb_week.xlsx” 요 부분 일 것 입니다.

사실상 위 코드는 앞 몇 줄 만 보여드렸는데, 이후 코드 부터는 저의 코드와 여러분들의 코드를 비교해 보더라도 동일한 작업을 했다면 다를것이 하나도 없을것 입니다. 왜냐면 똑같은 엑셀파일에서 동일한 시트를 가져왔기 때문입니다.(3.매매지수 시트의 형식이 다르지 않고 똑 같습니다. 물론 매주 한 줄 씩 새로운 data가 업데이트 되는 것에는 차이가 있지만 이것을 두고 형식이 ‘다르다’ 라고 말을 하지는 않습니다. 즉, Power Query로 동일한 전처리과정을 거쳤을 때, data형식이 같다면 동일한 결과가 나타나게 됩니다.)

그래서 “F:\powerbi114\kb_week.xlsx” 요 부분을 변수로 만들어 보도록 하겠습니다. Power Query에서는 변수를 매개변수라고 한다는 사실을 기억하시기 바랍니다.

자 그럼 매개변수를 만들어 보도록 하겠습니다.

매개변수 만들기

쿼리 부분에서 마우스 우클릭 하면 세번째 새매개변수를 클릭하면 됩니다.

kb주간매매지수전처리11

그럼 아래와 같이 매개변수관리 팝업창이 뜨게 될 것 입니다.

kb주간매매지수전처리12
매개변수 만들기
  1. 이름:여러분들이 직접 작명하세요.
  2. 유형: 반드시 텍스트 선택하세요.
  3. 현재값: 여러분들의 ROOT폴더 경로를 입력하세요.
  4. 확인 클릭

추후 생성한 매개변수를 변경할 경우에는 아래와 같이 변경하세요.

kb주간매매지수전처리13

생성한 매개변수 적용하기

해당 3.매매지수 테이블 우클릭 고급편집기 를 열어줍니다.

kb주간매매지수전처리09

“F:\powerbi114\kb_week.xlsx” 부분을 지우고, 그 자리에 매개변수 이름을 적어보시면 자동완성으로 매개변수가 나오면 이것을 선택하면 됩니다.

kb주간매매지수전처리14

매매지수 전처리 코드

이렇게 매개변수가 적용된 3.매매지수 테이블에 대한 전처리과정 코드를 여러분들의 .pbix파일에 붙여넣기 하여 사용할 수 있도록 아래와 같이 공유합니다.

매개변수 적용된 Power Query M

https://gist.github.com/yangyunho/af390055d8640e9e20d08fca01e0100e

복사한 코드 적용하기

위 코드를 복사하여서 여러분들의 3.매매지수 테이블의 우클릭 고급편집기에 그대로 붙여넣기 하세요.

kb주간매매지수전처리15

고급편집기 창이 열리면 편집기 내부에 마우스 커스를 두시고 ctrl+A ctrl+V 순차적으로 단축키 실행을 하면 기존 복사한 코드가 붙여넣기 될 것 입니다.

kb주간매매지수전처리16

코드 붙여넣기 한 후 반드시 아래 확인 버튼을 눌러서 실행해 주어야 합니다.

kb주간매매지수전처리17

편집한 파워쿼리 Power BI 적용하기

우리는 이렇게 Power Query 에서 코드를 수정하였고, 이어서 이를 그대로 Power BI 보고서에 적용하여야 합니다.

kb주간매매지수전처리18

위 그림 처럼 파일 > 닫기 및 적용 을 클릭하시면 파워쿼리 편집기가 닫히면서 아래 Power BI에서 로드되는 것을 볼 수 있을 것 입니다.

kb주간매매지수전처리19

과연 전처리작업이 잘 되었을까요?

아래 그림처럼 테이블뷰 에서 비슷한 모양이 나오면 전처리코드가 잘 적용된 것이라고 보면 될 것 입니다.

kb주간매매지수전처리21

작성한 보고서를 .pbix 파일로 저장하기

.pbix확장자를 가진 문서는 Power BI Desktop으로 작성한 문서를 말합니다. 저장 버튼을 클릭하면 파일 저장 팝업이 뜨게 됩니다.

kb주간매매지수전처리20

이름에 여러분들의 ROOT폴더경로에 저장하고 싶은 이름(경로를 포함한 이름)을 입력하면 될 것 입니다. 저의 경우 F:\powerbi114\kb_week 입니다. 그리고 확인을 클릭하면 아래와 같이 ROOT폴더.pbix파일이 저장된 모습을 볼 수 있습니다.

kb주간매매지수전처리22

마치며

이상 Power BI로 Raw-data를 업로드 하여서 Power Query 편집기에서 전처리하는 과정에 대해서 살펴보았습니다. 이번 포스팅에서는 전처리작업한 결과의 코드를 공유하였지만 추후 시간이 허락된다면 변환, 열추가 등의 도구로 전처리하는 방법에 대해서 포스팅 하도록 하겠습니다. 이은 포스팅에서 찾아뵙도록 하겠습니다.

3 개 댓글

Leave a Comment

  1. 3.매매지수 테이블의 2011-09-12 열을 찾을 수 없습니다 라고 나옵니다
    주간시계열을 열어보니 해당일에 자료가 없는데요
    무시하고 나머지만 불러올수없을까요?

    응답
    • 본 글 작성 당시에는 KB주간시계열에서 명절에 속하는 날짜도 공표되었다가, 현재 KB주간시계열을 살펴보니 명절에 속하는 날짜가 모두 제외 되었더군요. 일단 수정 코드로 변경해 두었습니다. 해당 M코드 복사하셔서 다시 붙여넣기 하시면 작동이 될껍니다. 피드백 감사합니다.

      응답