2020. 7. 7. 00:59ㆍ엑셀/파워쿼리기능소개
이번 포스팅은 변환 탭의 기능들 2번째로 피벗팅 기능을 소개합니다.
변환 탭 하위에는 위의 그림처럼 여러 하위그룹별로 기능이 존재합니다. 앞에서 다룬 내용과 중복되는 기능을 제외하고 나머지를 크게 각 5개의 소주제로 나누어서 정리하려고 합니다.
- ① 표 : 행/열 바꿈, 역방향 열, 행 카운트
- ② 열 : 피벗팅과 해제, 채우기
- ③ 텍스트 : 열병합, 추출
- ④ 숫자 : 통계, 표준, 반올림, 정보
- ⑤ 날짜 및 시간 : 날짜 형식에서 항목 추출
두 번째로 열 그룹에 있는 기능 중 피벗팅과 해제에 대해서 정리합니다.
1. 피벗(Pivot)에 대해서
먼저 피벗에 대해서 정리합니다. 쉽게 표현하면 열(Column) 항목과 행(Row)을 바꾸는 것인데요. 피벗테이블로 데이터를 요약하는 작업을 많이
파워 피벗에서는 위의 예시처럼 "시군구" 열의 각 값을 모두 열로 만들면서 "의료기관수"를 값으로 갖는 기능이 "피벗 열" 이란 기능이고 이것의 반대가 "열 피벗 해제"가 됩니다.
위의 예시는 행/열 바꾸기와 동일합니다. 피벗팅과 행/열 바꾸기와의 근본적인 차이는 데이터의 요약 여부라고 보면 됩니다.
행/열 바꾸기는 단순히 데이터의 행과 열의 위치를 바꿀 뿐이죠. 하지만 피벗팅은 형태 열의 각 값을 새로운 열로 만들면서 의료기관수를 합산하는 요약을 수행합니다. 그리고 피벗팅 해제는 이것의 반대되는 기능입니다. 피벗팅 되어 있는 Data를 표(Table) 형태로 변경해줍니다.
위의 예시를 다시 파워 쿼리로 피벗 해제시킨 결과입니다.
조금 더 정확히 표현하면 '크로스 탭 형태의 자료와 리스트(Table) 형태의 자료 간의 변환을 가능하게 해주는 기능'이라 할 수 있겠네요.
데이터를 변환하는 관점에서는 크로스탭 형태(가로, 세로로 항목이 있는 요약 표)를 표(Table) 형태로 변경하는 것이 더 자주 사용됩니다. 크로스 탭 형태의 데이터는 가독성이 좋지만 반대로 다른 형태로 가공하기가 매우 어렵습니다. 아마도 크로스 탭 형태의 보고서를 시스템에서 내려받아 표 형태로 변경하고 다시 이런저런 가공(주로 Lookup 등의 수식)을 거쳐 다시 피벗팅 하는 일 많이 하셨을 것입니다.
물론 OLAP(Online Analytical Processing) 시스템이 있어서 형태의 구속을 받지 않고 데이터를 활용할 수 있다면 이런 과정은 필요 없겠죠. 하지만 우리 모두가 그런 환경에서 일하는 것은 아니라서 어쩔 수 없이 이런 변환 작업을 반복하는 분들이 많을 것 같네요.
반대로 피벗 형태로 데이터를 가공하는 경우는 다루어야 할 데이터가 너무 많아서 요약이 필요한 경우가 되겠네요. 피벗테이블을 사용하면 되지만 여기에 수식을 거는 일은 데이터가 조금만 많아져도 속도에 문제가 생기죠. 이럴 때 아예 필요한 만큼의 요약된 데이터로 작업을 하면 훨씬 수월합니다. 이 경우도 마찬가지로 OLAP 시스템에서 요약해서 데이터를 내려받을 수 없다면 위의 경우와 반대의 작업이 반복됩니다.
내려받고 피벗팅 하고 다시 값 복사하여 작업을 이어 가는 것이죠. 써놓고 보니 업무내용에 따라서 이 작업이 더 많은 비중을 차지할 수도 있겠네요.
2. 파워 쿼리에서 피벗팅 하기
이제 본격적으로 파워쿼리에서 제공되는 피벗팅에 대해 알아보겠습니다. 먼저 '피벗 열' 기능으로 피벗팅을 하고 다시 해제를 해보죠.
시군구별로 '병원', '의원' 별로 의료기관 수를 합산한 피벗팅을 하기 위해서 '형태' 열을 선택하고 '피벗 열'을 클릭합니다.
그러면 '피벗 열' 설정 화면이 나타납니다.
① '형태' 열의 각 값을 사용하여 새로운 열이 만들어진다는 의미입니다.
② 값 열 : 값으로 만들 열을 선택합니다. '의료기관수' 열을 선택합니다.
③ 값 집계 함수 : 고급을 클릭하면 집계 함수를 선택할 수 있습니다. 지금은 값을 합산할 것이므로 '합계'를 선택합니다.
피벗팅이 완료되었습니다. 시군구 별로 병원과 의원의 구분별로 의료기관수가 합산된 모습입니다. 이제 반대로 해제를 해보겠습니다.
피벗팅된 결과를 돌릴 열 '병원', '의원' 열을 선택하고 '열 피벗 해제'를 클릭합니다.
피벗팅이 해제되었습니다. 해제되면서 '병원', '의원'의 열은 다시 값으로 돌아가면서 '특성'이라는 열이 되었고 '의료기관수'는 '값'이란 열로 처리되었습니다. 각각의 열 이름을 바꾸면 완성입니다.
이처럼 매우 간단하게 작업이 가능합니다. 물론 예제가 간단하기 때문이기도 합니다만 더 복잡하더라도 매번 손으로 작업을 해야 하는 것에 비하면 감수할 만한 가치가 있습니다.
비교적 복잡한 피벗팅 작업을 할 일이 생기면 적절한 예제를 만들어서 포스팅을 별도로 해야겠네요. 강조한 것에 비해서 예제가 너무 간단하네요. 지금은 소개를 하는 수준으로 마칩니다.
'엑셀 > 파워쿼리기능소개' 카테고리의 다른 글
[파워쿼리기능소개] 5-6. 변환 - 변환 탭 기능들(텍스트) (2) | 2020.07.07 |
---|---|
[필수 Tip]변환 작업시 팁 - 적용된 단계 관리 (1) | 2020.07.07 |
[파워쿼리기능소개] 5-4. 변환 - 변환 탭 기능들 (0) | 2020.07.03 |
[파워쿼리기능소개] 5-3. 변환 - 홈 탭의 변환 기능 (0) | 2020.07.01 |
[파워쿼리기능소개] 5-2. 변환 - 홈 탭의 변환 기능 (0) | 2020.07.01 |