[ 엑셀 Tip ] 대한민국 인구현황 맵차트 만들기 ( feat. 등치지역도 )

2023. 1. 29. 21:02Excel Tip/시각화 ( Visualization )

728x90
반응형

대한민국 인구 현황을 맵 차트( map chart )를 활용해서 등치지역도로 만들어 보도록 하겠습니다.

해당 기능은 엑셀 2019 이상의 버전에서 활용 가능한 것으로 보이며 그 이하에서는 작동하지 않을 수도 있습니다.

엑셀에서 geometry 시각화는 매우 제한적인데 ( 아직도 제한적이기는 하지만 ) 시도 데이터를 매핑이 가능하여 만들어 보았습니다.

예전에 올린 전국 12개년도 인구 현황 데이터를 활용하였습니다.

 

[ 파워 BI ] 파워쿼리를 이용한 대한민국 인구현황 분석_( 1 )

파워쿼리 & 파워피벗을 이용한 대한민국 인구 분석을 진행해 보겠습니다. 날이 차가운 거 보니 내년도 준비를 해야 할 때가 온 거 같습니다. [ 파워 BI ] 파워쿼리 편집기에 데이터 불러오기 파워

sunconnector.tistory.com


위의 데이터를 보시면 전국 12개년도의 인구 현황이 시도별로 나와 있습니다. 스파크라인을 활용해서 데이터를 시각화해 보았지만 역시 지역데이터는 지도를 활용해서 시각화하는 것이 매우 효율적일 것 같습니다.

전국의 년도별 인구 구성비를 한 번에 볼 수 있으면 효율적으로 인구 변화를 볼 수 있을 것 같습니다.

피벗테이블에서 값을 선택하고 삽입 지도 등치 지역도를 선택해서 지도를 만들어 보도록 하겠습니다.

다음과 같은 에러가 뜨면서 해당 차트를 만들 수 없다고 나오고 있습니다.

피벗 테이블 내부의 데이터로는 이 차트 종류를 만들 수 없습니다. 다른 차트 종류를
선택하거나 피벗 테이블 외부의 데이터를 복사하세요.

예전에 한번 포스팅을 해 드렸는데 피벗 테이블에서는 표현하지 못하는 그래프가 몇 가지 있습니다.

  • 분산형
  • 지도
  • 주식형
  • 트리맵
  • 선버스트
  • 히스토그램
  • 상자 수염
  • 폭포
  • 깔때기형

해당 그래프는 피벗테이블로는 만들지 못하게 되어 있습니다. 그래도 피벗테이블의 요약 데이터를 활용해서 그래프를 만드는 것이 효율적일 것 같습니다. 그냥 포기하기에는 너무 아쉬운 느낌입니다.

그래서 준비해 보았습니다. 피벗테이블을 활용해서 해당 그래프 중 지도차트인 등치 지역도를 만드는 방법입니다.


데이터를 열의 년도를 제거하고 행에 시도 값에 인구수만 남겨두고 모두 제거해 줍니다. 해당 인구는 10 ~ 21년까지의 인구가 모두 들어가 있기 때문에 연도별 인구수를 보기 위해서 필터기능을 할 수 있는 슬라이서를 넣어 주도록 하겠습니다.

년도에서 우클릭 후 슬라이서로 추가를 눌러 줍니다.

년도 슬라이서가 만들어졌고 값이 맞는지 확인하기 위해서 2021년도를 선택하고 기존 데이터와 비교해보니 값이 잘 나타나는 것을 볼 수 있습니다.

피벗테이블을 일반 테이블로 만드는 작업을 해 보도록 하겠습니다.

피벗테이블 분석 탭에서 OLAP 도구를 선택 후 수식으로 변환을 눌러 줍니다.

해당 테이블이 cube 함수를 활용해서 일반 테이블로 변경되는 것을 볼 수 있습니다. 

cube 함수에 관심이 있으신 분은 아래 글을 읽으면 세부내용을 확인 하실 수 있습니다.

 

[ 엑셀 Tip ] cube 함수 활용

파워피벗에 있는 데이터를 cube 함수를 통해서 다루를 방법을 해 보겠습니다. 큐브는 다차원의 데이터 모델로 x, y, z 축의 값이 포함되어 있는 값을 가져올 수 있습니다. 우선, cubemember 함수를 알

sunconnector.tistory.com

 

근데 이렇게 해도 슬라이서의 필터는 작동할까요?

슬라이서가 작동하는지 알아보기 위해서 년도를 2010으로 변경하였더니 잘 작동하는 것을 볼 수 있습니다.

슬라이서는 꼭 수식으로 변환하기 전에 넣어주어야 하는 것을 잊지 말아야 합니다.


이제 지도차트를 만들어 보도록 하겠습니다. 일반 테이블로 변경해 주었으니 이제 지도가 잘 만들어질 것 같습니다.

반응형

아 지도에서 인식하지 못하는 지역이 있는 것 같습니다. 일부 지역은 값이 나타나는데 일부 지역은 값이 나타나지 않는 것을 볼 수 있습니다. 

우측 상단에 i 가 있어서 눌러 보았더니 신뢰도가 61%의 매우 낮은 신뢰도로 만들어진 것을 알 수 있습니다. 

구글링을 해서 오류를 수정해 보도록 하겠습니다. 아 나오지 않습니다. 직접 입력해서 수정을 해서 오류를 수정해야 할 것 같습니다.

나타나지 않는 지역을 자세히 보니 충청, 경상, 전라도가 나오지 않는 것 같습니다. 

그 지역만 수정을 해 보도록 하겠습니다.

수정하기 위해서 시도의 전라남도를 전남으로 변경해 주었더니 값이 오류가 나타나는 것을 볼 수 있습니다. 

제가 올려드린 cube 함수의 원리를 보면 cubevalue는 cubemember를 참조해서 값을 가져오기 때문에 전남은 해당 멤버가 없는 것으로 인식해서 값을 가져오지 못하는 구조로 되어 있습니다.

여기서 포기를 해야 할까요? 아닙니다. 방법이 있습니다. 간단한 Tip을 활용해서 극복해 보도록 하겠습니다.

열을 하나더 추가해서 시도의 값을 복사해 주도록 하겠습니다. 꼭 수식이 아닌 값복사로 진행해 주십시오.

차트 디자인에서 데이터 선택을 눌러줍니다.

우측의 편집을 눌러서 기존의 셀이 아닌 복사한 셀을 선택해 주도록 하겠습니다.

확인을 눌러 주도록 하겠습니다.

별다른 변화가 일어나지 않습니다. 하지만 이제 새로 복사한 컬럼의 값을 변경해 보도록 하겠습니다.

차이가 보이기 시작합니다. 전라남도를 전남으로 변경하니 전라남도의 색이 채워지는 것을 볼 수 있습니다. 값도 에러가 나지 않고 잘 변경이 되는 것을 볼 수 있습니다.

같은 방법으로 전라남도, 경상남도, 경상북도, 충청남도를 변경해 보도록 하겠습니다.

이제 각 시도별 데이터가 잘 나타나고 있는 것을 볼 수 있습니다. 이제 약간의 디자인 요소를 넣어 주어 보도록 하겠습니다.

우선 차트 제목을 넣어 보도록 하겠습니다.그리고 슬라이서의 색도 변경해 보도록 하겠습니다.

지도의 테두리를 없애주고 데이터 레이블을 넣어 주도록 하겠습니다. 레이블은 인구수로 해 보도록 하겠습니다.

지도 옆의 +를 눌러서 데이터 레이블을 추가해 줍니다. 지도에 인구수가 표시되는 것을 볼 수 있습니다. 숫자가 크기 때문에 천명으로 레이블을 변경해 보도록 하겠습니다.

레이블을 선택하고 표시 형식에서 서식 코드에 콤마를 하나 입력하고 "천명"이라고 입력을 해주고 글씨 크기를 살짝 조정해 줍니다.

지도의 인구가 잘 나타나고 있는 것 같으나 년도를 변경해도 색의 변화가 보이지 않고 있는 것 같습니다.

그래서 지도를 더블클릭하여 계열 색을 3색으로 변경해 보도록 하겠습니다. 변화가 조금 더 드라마틱하게 나오는 것 같습니다. 범례의 위치를 조정해 주고 마무리를 해 보도록 하겠습니다.

범례를 차트와 겹치지 않게 표시를 눌러주고 위치를 왼쪽으로 변경해 주도록 하겠습니다.

2010년의 인구현황

2021년의 인구현황

차이가 보이시나요? 더욱 응용해서 본인만의 지도 차트 만들어 보셨으면 좋겠습니다.

728x90
반응형