지금까지 반복적으로 추가가 필요한 데이터 관리를 어떻게 하셨나요?

만약 데이터를 하나하나 추가한 뒤 다시 파워비아이를 수정하는 작업을 반복했다면, 폴더로 데이터 가져오기를 하면 아주 간단히 추가되는 데이터가 있어도 간단하게 폴더에 추가시킨 뒤 파워비아이에서 새로고침만 해주면 바로 모든 데이터가 보고서에 적용됩니다.

이는 Binary라는 좀 독특한 데이터 저장 방식이 있어서 가능한데요.

Binary에 저장된 모든 엑셀 데이터를 Excel.Workbook이라는 수식으로 불러와 새로운 열을 만들면 아무리 많은 데이터가 있더라도 한 테이블 안에 다 불러올 수 있습니다.

여기에 열 분할을 이용해 파일 이름을 새로운 연도 열로 만들어 적용시키면 데이터가 추가될때마다 기존 폴더에 파일만 넣어주면 몇 초 만에 새로운 데이터가 적용된 보고서를 얻을 수 있습니다.

파워쿼리 에디터를 통해 아주 간단히 만들 수 있는데, 한번 보시고 업무에 적용해 보세요.

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

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가 제대로 이해해서 제대로 된 코딩을 받았다면 그 질문의 내용에 대한 희열을 느껴야 할 것 같습니다.

 

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

 

데이터 전처리가 필요한 이유는 아주 간단하고 명확합니다. 엑셀이나 웹상에서 가지고 온 데이터는 바로 파워비아이에 사용할 수가 없기 때문이죠.

 

회사에서 가장 많이 사용되는 것이 엑셀이기 때문에 엑셀을 예로 들겠습니다. 스프레드시트의 대명사로 통하며, 회사에서 서류를 만들 때 없어서는 안 될 소프트웨어가 엑셀이라는 건 다들 공감하실 겁니다. 또한 여러 데이터분석 프로그램에서 엑셀 시트를 불러와 데이터 작업을 할 만큼 널리 사용되는 소프트웨어이기도 하지요.

 

특히 숫자를 다룰 때는 타의 추종을 불허한다고 해도 과언이 아니며 셀 안에 있는 숫자나 문자를 사용자가 원하는 대로 꾸밀 수 있다는 것은 엑셀의 가장 큰 장점입니다. 하지만 이러한 장점이 데이터 분석에 있어서 단점으로 바뀌게 되는데요, 너무나 자유로운 편집이 데이터 분석에 있어서 걸림돌이 된다는 것입니다. 그래서 이러한 ‘자유’를 파워쿼리 에디터에서 ‘구속’으로 바꾸어 줘야 데이터 분석에 이용할 수 있습니다.

 

데이터를 다루는데 엑셀과 파워쿼리 에디터의 차이점은 다음과 같습니다.

  • 엑셀: 사용자가 원하는 대로 데이터를 구성
  • 파워쿼리 에디터: 파워비아이가 원하는 데로 데이터를 구성

즉 엑셀은 사용자가 주체이지만, 파워쿼리 에디터는 데이터 형식을 파워비아이가 원하는 데로 맞추어 줘야 한다는 것입니다.

 

간단한 예를 들겠습니다.

반별 국, 영, 수 점수의 중간, 기말별 평균성적을 나타낸 표입니다. 우리가 늘 접하는 형식이죠. 하지만 불행하게도 이러한 표는 데이터 분석을 위해서 사용이 될 수 없습니다.

 

데이터 분석을 위해서는 전처리를 통해 아래와 같이 변형이 되어야 파워비아이에서 시각화 작업이 가능합니다.

 

데이터 전처리의 가장 기본은 행에 포함되는 열의 구성이 유니크 (Unique)한 구성을 가져야 한다는 것입니다.

여기서 예를 들면 첫 번째 행은 {중간, 국어, 1반, 83} 이고 두 번째는 {중간, 국어, 2반, 82}, 이런 식으로 총 18개의 행을 가진 데이터입니다.

다시 말해서 {학기, 과목, 반, 점수}로 구성된 18개의 행의 데이터가 중복 없이 구성되어야 합니다.

 

아까 말씀드린 엑셀에서 작성한 표를 파워쿼리 에디터로 가지고 와 {학기, 과목, 반, 점수}로 구성된 하나의 데이터로 ‘구속’을 시켜주는 작업이 데이터 전처리 과정입니다.

 

데이터를 ‘구속’시키는 이유는 아주 간단합니다.

지금 예제로 다루는 데이터는 몇 줄 안 되는 데이터지만, 수만 아니 수십만 개의 데이터를 다루려면 아주 강한 규칙이 필요하며, 데이터 분석의 오류를 없애기 위한 일련의 조치입니다.

이는 파워쿼리를 이용해 전처리를 진행하면 자연스럽게 알 수 있는 것이므로 지금은 이 정도로만 설명하겠습니다.

 

하지만 데이터 전처리가 되었다고 시각화를 위한 준비가 끝난 것은 아니고 전처리된 데이터를 다시 여러 수식을 이용해 필요한 값을 추출하는 과정이 필요합니다.  (편의상 후처리라 하겠습니다) 

 

아래의 그림을 마지막으로 이 글을 마무리하겠습니다.

엑셀 데이터도 가공하지 않고 사용할 수 있지만, 이는 극히 드물다고 생각해야 하며, 파워쿼리 에디터를 이용해 데이터 전처리를 하면 원하는 표와 그래프 및 값을 얻을 수 있지만 사실 이것으로도 부족하며, DAX라는 수식을 이용해 데이터 후처리까지 진행해야 거의 원하는 모든 값을 얻을 수 있습니다.

편의상 10%, 60%, 100%라고 했지만, 파워쿼리 에디터에서도 잘 가공을 한다면 거의 90% 가까이 원하는 결과를 얻을 수 있습니다. 하지만 이것도 어느 정도 한계는 있으며, DAX를 이용한 후처리가 필요한 경우가 대부분을 차지하기 때문입니다.

저번 글에는 이미지를 활용한 버튼으로 페이지를 이동하는 방법에 대해 말씀드렸는데요, 이번 글에서는 버튼에 이미지 대신 글자를 넣고 페이지 이동 대신 레이어를 이용해 페이지 이동 효과를 볼 수 있는 방법에 대해 알아보겠습니다.

 

페이지 이동 대신 레이어를 이용하게 되면 장단점은 아래와 같습니다.

  • 장점: 한 페이지에 모든 것이 이루어지므로 페이지를 여러 개 만들 필요가 없다
  • 단점: 여러 페이지가 필요 없지만, 페이지 수많은 레이어를 만들고 서로 연결해야 한다.

 

저번 글에서 만든 보고서를 이용하겠습니다.

 

먼저 사랑을 위해서 빈 버튼을 만들고 각 버튼에 Labor, Mat, Equip, Sub이라고 넣습니다. 그리고 보기 좋게 버튼을 정렬합니다.

 

이제 레이어를 만들 차례인데요, 만약 Labor 버튼을 누르면 인건비에 대한 자료만 나와야 하므로 인건비에 관련된 카드와 두 개의 차트를 하나의 그룹으로 묶어주고 레이어의 이름을 노무비로 바꾸어줍니다. 그리고 나머지 3개도 그룹으로 묶어주고 이름을 자재비, 장비비, 하도급이라고 바꾸어줍니다.

 

이제 각 페이지에서 만든 레이어를 첫 번째 페이지로 복사, 붙여 넣기를 한 뒤 잘 정렬해 줍니다.

 

버튼을 디자인할 차례인데요, 버튼의 서식에서 텍스트의 서식을 지정하는데 기본 상태, 가리킬 때, 누를 때 이렇게 3개의 서식을 아래와 같이 지정합니다.

  • 기본 상태 글자색상: 그레이 30%, 글자 크기 18
  • 가리킬 때: 글자색상 빨간색, 글자 크기 20
  • 누를 때: 글자색상 빨간색, 글자 크기 20

 

이렇게 만든 후 모든 버튼을 복사하여 아래에 붙여 넣기를 한 뒤 글자 색상과 크기를 빨간색과 20으로 지정합니다.

 

위쪽에 있는 버튼을 비활성 버튼이라고 하고 아래에 있는 버튼을 활성 버튼이라고 이야기한다면 위쪽에 있는 Labor 버튼을 누르면 위쪽에 있는 버튼은 숨기고 아래에 있는 Labor 활성 버튼과 지정된 노무비 레이어를 보여줘야 하므로 각각 2개의 버튼이 필요한 것입니다.

그리고 8개 버튼의 레이어를 노무비_기본, 노무비_활성과 같이 바꾸어 줍니다.

 

활성 버튼 서식 지정이 끝났으면, 기본 버튼 위에 활성 버튼을 잘 포개어 정렬합니다.

 

제 버튼을 누를 때 활성화될 레이어를 지정하면 되는데요. 노무비의 기본 상태 버튼을 누르면 노무비 활성 버튼과 함께 노무비의 데이터 레이어만 보여줘야 하므로 노무비의 활성 버튼과 노무비의 레이어만 보이도록 설정하고, 다른 3개의 버튼은 모두 기본 상태가 보이도록 설정한 뒤 책갈피를 추가하고 책갈피 이름을 ‘노무비’로 바꾸어 줍니다.

그리고 Mat, Equip, Sub의 버튼도 똑같은 방법으로 책갈피를 만들고 ‘자재비’, ‘장비비’, ‘하도급’으로 이름을 바꾸어 줍니다.

 

마지막으로 버튼을 누르면 방금 만든 책갈피를 보이게 설정하면 됩니다.

노무비 기본 상태 버튼을 누르면 노무비 책갈피가 보이도록 설정을 해주면 되는데, 노무비 기본 상태 버튼을 선택하면 오른쪽 ‘서식 단추’에서 ‘작업’을 설정으로 바꾸면 아래에 ‘형식’이라고 나오는데 여기서 ‘책갈피’를 선택합니다. 그럼 바로 아래에 책갈피 드롭다운 메뉴가 나오는데 여기서 방금 설정한 ‘노무비’를 선택합니다. 그리고 나머지 3개의 버튼도 똑같은 방법으로 ‘자재비’, ‘장비비’, ‘하도급’을 차례로 선택합니다.

 

이제 모든 설정은 끝이 났습니다.

버튼에 마우스를 올리면 버튼의 모양이 변하고, 선택하면 마치 페이지가 이동하듯이 파트별 카드와 차트만 보여주는 보고서를 확인하실 수 있습니다.

참고로 파워비아이 파일을 게시 명령을 실행해서 온라인에 업로드하지 않는 이상에는 반드시 Ctrl 버튼을 누른 상태에서 마우스를 클릭해야 작동된다는 것 꼭 기억하시기 바랍니다.

 

이상으로 버튼과 레이어를 이용해 페이지 이동 효과를 주는 방법을 알아보았는데요, 여러 페이지를 만들지 않고 한 페이지 안에서 모든 것을 해결하고 싶은 분은 꼭 사용해 보시기 바랍니다.

그리고 이전 글에서 말씀드린 페이지 이동하는 방법도 함께 사용이 가능하니 사용해보고 그때그때 맞는 방법을 사용하면 보다 멋진 보고서를 작성할 수 있을 거라 생각됩니다.

 

+ Recent posts