파워비아이 쿼리 에디터로 데이터를 가져오면 가장 먼저 해야 할 것이 열 이름을 지정하는 것입니다.

 

쿼리는 열 이름을 사용하여 모든 명령을 실행하기 때문에 이를 지정하는 것이 쿼리 에디터에서 데이터 분석을 시작하는 첫걸음입니다.


파워비아이에서 엑셀 파일로부터 데이터를 가져올 때 아래와 같은 경우가 많습니다.

때로는 자동으로 인식해서 열 이름을 알아서 지정하는 때도 있지만 아래의 경우를 볼 수 있습니다.

 

최상의 행이 열 이름으로 지정되며, 보시는 것과 같이 회색 바탕을 두고 있습니다.

현재 열 이름은 Column1, Column2와 같은 형태로 되어있으며, 엄연하게 열 이름을 가지고 있으니 현재 상태로도 Column1, Column2를 열 이름으로 하여 수식을 만들거나 편집하는 데는 아무 문제가 없습니다.

별문제가 없어 보이지만, 마지막 5, 6번째 열에서 숫자와 문자가 섞여 있으므로 작업을 진행할 때 100% 오류가 나올 수 있는 형태의 데이터 테이블입니다.

보기의 열 분포를 선택하면 다른 열과는 다르게 아무것도 표시하지 않는 것을 볼 수 있는데요, 이는 열 구성이 뭔가 이상하다는 것을 단편적으로 보여주는 것이기도 합니다.


여기서 오류가 없는 테이블을 만들려면 2가지 방법이 있는데요, 하나는 첫 번째 열을 지우거나, 다른 하나는 첫 번째 열을 열 이름으로 만드는 것입니다.

변환 > 첫 행을 머리글로 사용 버튼을 이용하면 되는데요.

사용하는 법은 아주 간단한데, 변환 > 첫 행을 머리글로 사용을 누르면 첫 행을 머리글로 사용, 머리글을 첫 행으로 사용 두 가지 옵션이 나오는데요, 둘은 서로 정반대의 명령입니다.

첫 행을 머리글로 사용을 누르면 첫 행이 머리글로 올라와 새로운 열 이름이 지정되고, 보기의 열 분포로 가면 아까와는 다르게 열의 속성을 보여줍니다.


이제 드디어 쿼리 에디터에서 데이터 전처리 작업을 시작할 준비가 완벽하게 되었습니다.

가져온 데이터를 본격적으로 파워비아에서 사용할 수 있는 형태로 변환하기 위한 여러 가지 명령에 대해서도 알아보겠습니다.

 

엑셀에서 데이터 분석을 지원하기 위해 등장한 파워쿼리 에디터는 특별한 코딩 지식이 없는 분도 쉽게 데이터 전처리 진행이 가능하여지도록 했습니다.

엑셀과 비슷하게 구성되었기에 거부감 없이 접근할 수 있지만, 역으로 엑셀과는 너무나도 다른 작업환경에 크게 당황하게 되는데요.

사용이 그리 어렵지 않으니 하나하나 차근차근 명령 도구를 익히면 금방 익숙해집니다.

 

맨 위에 있는 쿼리 에디터 리본으로 모든 명령을 수행하게 됩니다.

이곳에서 실행한 모든 명령은 일명 M-Code라고 하는 파워쿼리를 구성하는 컴퓨터 언어로 저장될 뿐 아니라 오른편 적용된 단계 창을 통해 실행된 명령이 순서대로 기록이 되어 나중에 쿼리 수정에 유용하게 쓰입니다.

 

쿼리 에디터 리본은 홈, 변환, 열 추가, 보기, 도구, 도구의 5가지 메뉴를 가지고 있으나 실제로 데이터 전처리에서는 홈, 변환, 열 추가 정도가 데이터 변환에 사용됩니다.

 

홈, 변환, 열 추가 리본 내에도 세분화된 버튼이 있으며 이 버튼을 이용해 명령을 수행하거나 작업 창 내 열 이름을 선택 후 마우스 오른쪽 버튼을 선택하면 추가 명령이 나오는데, 이를 통해서도 입력할 수 있으므로 상황에 맞게 사용하면 됩니다.

 

엑셀의 경우 직접 셀을 선택해서 입력할 수 있지만, 파워쿼리의 경우 모든 입력은 에디터 리본이나 열 이름을 선택해서 나오는 명령을 통해서만 입력할 수 있습니다.


파워쿼리와 모양이 비슷해서 약간 혼동이 되는 것이 데이터 보기 창인데, 이곳에서도 작업이 가능하나 M-Code가 아니라 DAX를 이용해 데이터 변환을 시킨다는 것이 다릅니다.

파워쿼리 명령이나 DAX 수식은 서로 보완하기 위해 만들어진 것이라 데이터 전처리 과정에서도 서로 보완해 가며 최상의 결과를 얻게 하려는 하나의 방편이 아닌가 합니다.

 


M-Code와 DAX는 뭐가 더 뛰어난 입력 도구인가를 논하기보다는 적절한 곳에 필요한 도구를 사용하면 됩니다.

예를 들면, 가지고 온 데이터의 열을 없애는 것은 파워쿼리 에디터에서만 가능하며, 기존에 있는 데이터 테이블을 이용해 새로운 테이블을 만드는 것은 DAX가 더 효율적이라 할 수 있습니다.

이처럼 서로 다른 특성이 있으므로 M-Code와 DAX는 뭐가 더 뛰어난 입력 도구인가를 논하는 것은 큰 의미가 없는 것처럼 보이며 적절한 곳에 필요한 도구를 사용해서 가장 짧은 시간에 결과물을 만들어 내는 것이 중요하겠죠.

 

즉 파워쿼리 에디터는 데이터를 불러와서 DAX 사용에 가장 적합하게 데이터를 정리하고, 그리고 나머지 부분은 DAX로 채워 나가는 것이 가장 효율적인 방법이 아닐까 생각합니다.

 

쿼리 에디터에 있는 명령 도구도 사용하다 보면 자주 쓰이는 것이 있는데, 다음에는 자주 사용되는 버튼의 사용법에 대해 알아보도록 하겠습니다.

 

 

요즘 마이크로 소프트의 행보가 심상치 않습니다.

Chat GPT를 검색사이트 Bing에서 사용할 수 있도록 했는데요

구글 크롬에 밀려버린 존재감이 없었던 인터넷 검색 시장에  활기를 불어넣고 있으며  구글이게 빼앗긴 예전의 영화를 다시 찾아오려는 공격적인 행보를 보이는데 빅 테크 기업간의 경쟁이 우리에게 더 좋은 서비스로 돌아오니 나쁘지는 않은 것 같습니다.

 

게다가 Bing 검색 내에 제공하는 Chat GPT는 무료로 제공한다고 하니 이젠 따로 Chat GPT 사이트에 접속할 필요가 없다는 게 좋은 점이겠죠

 

간단하게 DAX 수식을 테스트해 보았습니다.

 

사이트를 열고 Bing Chat으로 접속한 모습입니다.

채팅하듯 아래의 입력창에 필요한 것을 입력합니다.


저는 프로젝트를 진행 할 때 직원들이 며칠 동안 일했는지를 알아보려, 주말을 제외한 일수를 알아보려 합니다.

그래서 먼저 영어로 아래와 같이 입력했습니다.

 

Chat GPT보다는 느렸지만 그래도 질문을 이해하고 알맞은 DAX 수식을 만들어 주었습니다.

그리고 놀라운 것은, 수식을 알려주면 공휴일을 뺀 수식을 알려달라고 말하려 했는데, 어찌 알았는지 묻지도 않았는데 공휴일을 제외한 일수를 구하는 DAX 수식도 함께 알려주었습니다.


내친김에, 다시 한글로 물어보았습니다.

 

보시는 것과 같이 영어로 입력했을 때와 똑같은 결과물을 보여줍니다.

 

영어나 한글, 둘 중 편한 것을 사용하면 될 것 같습니다.

 

수식을 받았으니 확인을 해 보아야겠죠?

테이블 뷰에서 열삽입을 하고 두 수식을 모두 넣었더니 만족할만한 결과치를 보여줍니다.

 

오늘은 간단한 수식만 시험해 봤는데, 복잡한 수식에 관한 것도 다음에 말씀드리겠습니다.

 

DAX 수식에 대한 부담이 줄어드니 파워비아이가 한층 더 쉽게 느껴지네요.

 

Chat GPT… 이거 정말 장난 아닙니다.!!!

 

파워비아이에 ChatGPT가 이용되면 많은 도움을 받을 수 있습니다.

파이썬이나 R 등의 컴퓨터 언어의 코딩을 도움받아 작업의 효율을 높일 수도 있지만, 가장 좋은 것은 DAX 수식을 자동으로 만들어 준다는 것이라 생각되는데요.

물론 잘 ChatGPT가 잘 알아들을 수 있도록 입력해야겠지만, 그래도 DAX 수식을 만들기 위해 여러 인터넷 사이트를 돌아다니는 수고를 줄일 수 있기에 엄청나게 시간을 절약할 수 있다는데  큰 의미를 부여하고자 합니다.

프로젝트를 진행하며 계속 테스트 중이기 때문에 어떤 질문 형태가 최적화된 것인지 곧 알게 될 것 같습니다. 

그동안 DAX라는 큰 벽에 가로막혀 파워비아이를 멀리하셨던 분들도 이 기회에 다시 한번 도전해 보시면 어떨까 합니다.

 

아래의 영상을 보시고 ChatGPT를 파워비아이게 사용해 보시기를 바랍니다.

 

 

ChatGPT라고 하는 인공지능을 기반으로 한 시스템이 연일 뉴스의 메인을 장식하고 있습니다.

다들 너나 할 것 없이 ChatGPT를 테스트하고 그 결과물에 많은 사람이 놀라움을 금치 못하고 있는데요.

역사나 사실관계에 대해서는 아직 잘못된 답을 보여주긴 하지만, 컴퓨터 언어의 코딩에서만큼은 비전공자의 실력은 충분히 뛰어넘고도 남을 레벨이라 인정해야 할 것 같습니다.

 

이는 파워비아이에서도 아주 유용하게 쓰일 것 같습니다.

아래와 같은 컴퓨터 언어를 능수능란하게 사용할 수 있다면 파워비아이를 좀 더 효율적으로 사용할 수 있겠죠

  • Python
  • R
  • M
  • DAX

Python은 이젠 더 이상 설명이 필요 없는 언어가 되었죠.파워비아이 에서는 Pandas라는 데이터분석 라이브러리를 이용해 데이터 전처리를 선행하면 시간과 공간을 절약할 수 있었습니다.

아직 사용해 보지는 않았지만, R 역시 데이터 분석에 최적화된 언어로 알고 있으며 파이썬 못지않게 쉬운 구성으로 되어있다고 알고 있습니다.

M은 파워쿼리를 구성하는 언어로 파워쿼리 에디터를 주로 사용하여 코딩을 공부해야 한다는 필요성을 크게 느끼지는 않지만 그래도 한 번씩 파워쿼리를 수정하는 작업을 할 때 코딩의 필요성을 느끼는 언어입니다.

마지막에 언급한 DAX는 엄밀히 말하자면 언어라기보다는 전처리된 데이터를 다시 한번 가공시키기 위한 수식이라 할 수 있겠습니다.


전공자가 아닌 이상 위에 말씀드린 언어를 제대로 공부한다는 것이 과연 효율적일 것일까 하는 생각이 드는 것도 사실이나, 그래도 모르는 것보다는 아는 것이 낫지 않을까 하는 마음으로 발을 들여놓았으나 아직 아주 기본적인 것만 할 수 있는 단계를 벗어나지 못하고 있는데, ChatGPT의 등장으로 이러한 고민이 한순간에 해결되었네요.

 내가 필요한 것을 아주 상세히 제대로만 입력하면, 원하는 결과치를 바로 만들어주고, 거기다 자세한 설명까지 알려주니 실로 엄청난 기술의 발전이 아닐까 합니다.

그리고 ChatGPT가 제시한 코드에 오류가 있더라도 이를 다시 입력하면 오류까지 바로잡아주니, 마치 선생님을 앞에 두고 작업을 하는듯한 생각마저 들었습니다.

 

그동안 아주 얕은 지식으로 여기저기 사이트를 돌아다니며 다른 분들이 이미 만들어 놓은 코딩을 복사해서 몇 날을 제 상황에 맞도록 수정해 가며 결국 원하는 바를 이루었을 때 느끼는 희열이 대단했는데, 이제는 나의 질문을 ChatGPT가 제대로 이해해서 제대로 된 코딩을 받았다면 그 질문의 내용에 대한 희열을 느껴야 할 것 같습니다.

 

이러한 기술의 발전이 하나의 고민을 해결해 주었으니, 이젠 그만큼의 시간을 다른 곳에 투자할 여력이 생긴 것 같아 좋긴 합니다.

 

파워 비아이에서 파워쿼리 에디터로 데이터를 가지고 온 뒤 가장 먼저 확인해야 할 것이 있습니다.

  • 데이터에 오류가 있는지 확인 (셀에 Error로 표시됩니다)
  • 데이터에 결측치가 있는지 확인 (여기서 결측치란 데이터가 누락되거나 계산상의 오류로 인식을 못 하는 경우를 말합니다 - 파워쿼리 에디터에서는 “비어있음”, “NaN”, “빈 문자열”로 표시됩니다)

 

데이터 오류 확인 방법은 아래의 두 가지만 확인하시면 됩니다.

  • 열 품질 확인 (데이터에 오류나 결측치가 있는지 확인)
  • 열 프로필 확인 (좀 더 자세히 열의 정보를 확인)

 

위에서 말씀드린 열 품질 및 열 프로필을 확인하려면 아래와 같이 메뉴에서 보기를 선택하고 데이터 미리 보기 리본에서 열 품질을 선택하면 행이 추가되고, 열 프로필을 선택하면 작업 창 아래에 새로운 창이 추가됩니다.

 

데이터를 수정하는 방법은 다음과 같습니다.

오류 제거

  • 확인
  1. 열 품질 행에서 확인 가능하며, 아래와 같이 Price 열에 오류가 있음을 표시하며 세 번째 행에 Error로 표시가 됩니다. 
  2. Error를 클릭하면 세부정보가 나오는데 여기서는 속성이 숫자인 열에 “A”라는 문자가 입력되어 발생한 오류라고 알려줍니다.

  • 수정
  1. 원 데이터 파일을 열어 A 대신 제대로 된 값을 입력한 뒤 미리 보기 새로 고침을 클릭합니다.
  2. Price 열에서 오른쪽 클릭을 한 뒤 드롭다운 메뉴가 나오면 오류 제거를 선택합니다.

 

결측치 제거

  • 확인
  1. 열 품질 행에서 유효가 100%인지 확인하고, 100%가 아니고 아래에 비어있음이 0%가 아닌 행을 찾습니다.
  2. 해당 열을 선택하면 아래에 열 프로필 창에서 자세히 확인 가능합니다.

 

  • 수정
  1. 원 데이터 파일에서 데이터를 입력한 뒤  미리 보기 새로 고침을 클릭합니다.
  2. 해당 열의 오른쪽에 있는 화살표를 클릭한 뒤 "Null"을 없애줍니다.

 

이런 과정을 거쳐 데이터를 정리한 뒤 전처리 과정으로 들어가셔야 전처리 과정에서 오류도 줄일 수 있으며 양질의 결과를 얻을 수 있으니 반드시 확인하는 습관을 지니시길 바랍니다.

 

+ Recent posts