파워피봇으로 엑셀(Excel) 데이터 분석의 날개를 달자

주로 엑셀로 데이터를 분석하시는 분들을 위한 작은 정보를 공유드리려고 합니다.

저는 불과 얼마 전까지 엑셀에서 조회할 수 있는 데이터 양이 1,048,576 열이라고 알고 있었습니다.

확인해본 결과, 이것은 어떤 경우엔 사실이지만 어떤 경우에는 사실이 아니었습니다.

Office 2010 에서는 파워피봇(PowerPivot) 이라는 애드인(Add-In)을 설치할 수 있고, 설치 후에는 32bit 의 경우 2GB 까지, 64bit 의 경우에는 4GB 의 데이터를 메모리 내에서 처리할 수 있으며, 약 20억건 정도의 레코드를 처리할 수 있습니다.

설치는 MSDN 설치문서 를 참조하시면 되는데, 문서 상으로는 100MB 의 디스크 공간이 필요하다고 되어 있으나, 실제로는 500~600MB의 용량이 필요합니다.

PowerPivot 설치 후 UI

Gemini_PowerPivotTab

(이미지:https://msdn.microsoft.com/dynimg/IC563163.gif)

보시는 것처럼 PowerPivot 이라는 새로운 탭이 생성됩니다. PowerPivot 버튼을 클릭하면,

GMNI_clientApp

(이미지:https://msdn.microsoft.com/dynimg/IC466032.gif)

새로운 창이 뜨고, 다양한 데이터베이스에서 데이터를 읽어올 수도 있고, Local PC 의 데이터를 읽을 수도 있습니다.

저는 약 300만건 정도의 rawdata 를 읽어봤는데, 매우 빠르게 읽어져서 살짝 놀랬습니다(아래 이미지는 제가 실험했던 데이터는 아닙니다).

Gemini_DesignTab

(이미지: https://msdn.microsoft.com/dynimg/IC563145.gif)

PowerPivot 창에서 Pivot 돌리기

읽어진 파일에 대한 Pivot 기능은 기존 엑셀 Sheet 에서의 방법과 크게 다르지 않기 때문에 길게 설명하지는 않겠습니다.

Gemini_FieldList

(이미지:https://msdn.microsoft.com/dynimg/IC404915.gif)

Pivot 을 수행한 결과가 엑셀 Sheet 에 출력되는 모습인데, 내부적으로는 PowerPivot 에서 읽어진 데이터를 SQL Server 엔진쪽으로 Table 을 생성하며 밀어넣고, Pivot 조건에 맞는 쿼리를 던져서 리턴된 결과를 엑셀 Sheet 로 출력해 주는 것으로 추정됩니다.

마치며...

저로서는 한가지 고민 거리가 늘었는데, 주위에 엑셀을 좋아하시는 분들이 많기 때문에 Hadoop DW 에 있는 데이터를 PowerPivot에서 조회할 수 있도록 환경구성을 해야될 것 같다는 느낌이 들어서 입니다(해야할 일이 많이짐^^). 어쨌든, 엑셀에서 분석할 수 있는 데이터의 양을 20억건까지 늘릴 수 있다는 것은 엑셀로 데이터를 주로 분석하시는 분들에게는 매우 좋은 팁이 될 것 같고, 주위에 물어보면 엑셀을 많이 사용하시는 분들도 잘 모르고 계신것 같아서 공유합니다.

참고문서

MSDN : https://msdn.microsoft.com/ko-kr/library/gg399157(v=sql.110).aspx


Popit은 페이스북 댓글만 사용하고 있습니다. 페이스북 로그인 후 글을 보시면 댓글이 나타납니다.