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 버튼을 누른 상태에서 마우스를 클릭해야 작동된다는 것 꼭 기억하시기 바랍니다.
이상으로 버튼과 레이어를 이용해 페이지 이동 효과를 주는 방법을 알아보았는데요, 여러 페이지를 만들지 않고 한 페이지 안에서 모든 것을 해결하고 싶은 분은 꼭 사용해 보시기 바랍니다.
그리고 이전 글에서 말씀드린 페이지 이동하는 방법도 함께 사용이 가능하니 사용해보고 그때그때 맞는 방법을 사용하면 보다 멋진 보고서를 작성할 수 있을 거라 생각됩니다.