행정동과 통계청 행정구역 분류

행정동은 대한민국의 행정구역 구분단위의 세부 구분단위입니다. 세부적인 내용은 [링크]를 참조하시면 됩니다. 시도아래에 시군구가 있고 그 하위에는 읍면동으로 나뉘고 읍면은 행정리로, 동는 통으로 나눌 수 있고 행정리와 통은 말단 행정 구역인 반으로 나뉩니다.

우리가 흔히 알고 있는 동단위의 행정구역 관련 코드에는 (1) 행정동 코드, (2) 법정동 코드 (3) 통계청 한국행정구역 분류 등이 있습니다. 흔히들 (2)법정동과 (1)행정동이 있다는 것을 아실텐데 (1)과 (3)이 동일하다고 알고 계신 분이 많을겁니다. 최근 구역은 동일한데 코드가 다른것을 확인했습니다.

(1)과 (2)는 행정안정부 홈페이지에서 확보 가능하고 (3)은 아래에서 설명한다.

위의 세 가지 자료와 관련되어 잘 정리된 글이 존재하여 링크를 걸어둔다. [여기]를 클릭하면 팝업창에서 볼 수 있다.

최신 통계청 통계분류포털의 포털페이지에서 우측의 [행정구역 분류]메뉴로 들어간 다음 좌측의 [자료실]에서 받을 수 있습니다. 현재는 2020.4.1 기준이 최신으로 올라와 있습니다.

행정동 테이블의 원본 :
http://kssc.kostat.go.kr/ksscNew_web/download/%ED%95%9C%EA%B5%AD%ED%96%89%EC%A0%95%EA%B5%AC%EC%97%AD%EB%B6%84%EB%A5%98_2020.4.1.%20%EA%B8%B0%EC%A4%80(%EC%88%98%EC%A0%95).xls

행정동의 shp파일은 [여기]를 방문하시면 확인할 수 있습니다.

태블로로 내용을 그리면서 검토하다보니 기초광역단체가 있는 일반구의 경우 기초광역단체명을 빼고 일반구명만 적어두어 이것만 가지고는 활용이 불가하여 이름을 수정하여 아래에 게시했습니다. (경기도 수지구 –> 경기도 용인시 수지구)

구글시트 링크 : https://docs.google.com/spreadsheets/d/1ka5lfCKIXaC72gdoPUJTzdElQc5_LJrJ5bhApHm_yWs/edit#gid=0

CSV 파일 링크 :
http://dgtnmd.net/wp-content/uploads/2020/06/한국행정구역분류_2020.4.1.-태블로용.csv

태블로 퍼블릭 샘플 : [바로가기]

구글시트 웹공유 :

 1,624 total views,  4 views today

크롬 익스텐션의 오프라인 설치

들어가며

앞에서 크롬 익스텐션을 이용한 화면전환에 대해 설명한 적이 있습니다. [바로가기] 그런데 이 익스텐션의 설치는 인터넷 연결이 전제되어야 합니다. 망분리 기관인 고객사에서는 인터넷 연결이 되지 않아 익스텐션의 설치가 여러운 상황이었습니다. 이런 경우 오프라인으로 설치하는 방법에 대해서 공유합니다.

CRX, zip 파일의 확보

먼저 크롬 익스텐션의 설치파일인 CRX파일의 확보가 선행되어야 합니다. 그런데 간단할줄로만 알았던 CRX파일의 확보가 생각보다 쉽지 않았습니다. 여러 시도끝에 CRX extractor/downloader 라는 또 다른 익스텐션을 이용해서 성공했는데 이 과정을 설명합니다.

https://chrome.google.com/webstore/detail/crx-extractordownloader/ajkhmmldknmfjnmeedkbkkojgobmljda

먼저 인터넷이 되는 컴퓨터로 이 링크로가면 CRX Extractor/Downloader 익스텐션이 보입니다. 이것을 설치해줍니다. 그림에도 나와 있지만 이 익스텐션의 특징은 CRX파일 뿐 아니라 ZIP파일로도 다운로드가 가능하다는 것입니다. CRX는 드래그&드롭으로 설치 가능하지만, 수동 설치시에는 ZIP파일이 사용하기 편리합니다.

그리고는 CRX를 얻기를 원하는 익스텐션으로 이동합니다. 저의 경우에는 Tab Rotate이므로 그곳으로 이동합니다.

https://chrome.google.com/webstore/detail/tab-rotate/pjgjpabbgnnoohijnillgbckikfkbjed

여기서 Get CRX 익스텐션을 우클릭하여 Download CRX for this extension을 선택하고 CRX를 받을지 ZIP을 받을지를 선택합니다. 페이지는 CRX를 얻기를 원하는 그 익스텐션 설치페이지 상태여야 합니다.

그러면 Tab Rotate.crx 혹은 Tab Rotate.zip을 다운로드하게 됩니다.

이제 이 파일을 망분리된 상태의 다른 피시로 usb등을 통해 가져갑니다.

CRX 설치 : CRX 파일을 드래그 앤 드롭으로 설치

먼저 CRX파일 설치 방법입니다. 확장 프로그램 관리 페이지로 이동하여 우측의 [개발자 모드] 스위치를 켜줍니다.

이 상태에서 탐색기에서 crx파일을 이 폴더 안으로 끌어 넣으면 설치하겠느냐고 물어본 후 자동으로 설치가 됩니다.

이제 익스텐션의 설정값을 잘 설정해서 운용하면 됩니다.

ZIP설치 : 드래그앤 드롭이 안되는 경우

드래그앤 드롭 방식의 설치가 안된다는 이슈가 최근 있어서 추가 합니다. 어떤 이유에서인지 드래그앤 드롭 방식으로 설치가 안되는 경우 다음을 따라하시기 바랍니다.

우선 chrome://extensions/ 여기로 이동해서 우측의 [개발자 모드]를 켜서 개발자 모드로 들어가게 되면 좌측 상단에 [압축해제된 확장 프로그램을 로드합니다] 버튼이 보이는데 이 버튼을 클릭합니다.

zip파일이 있는 곳으로 이동하여 [폴더 선택]을 눌러주면 설치가 자동으로 딥니다.

이제 설치가 잘 되었아니 익스텐션을 잘 활용합니다.

맺으며

크롬 익스텐션은 오프라인 설치가 가능한데 GetCRX 익스텐션을 활용하여 설치를 원하는 Tab Rotate 익스텐션의 CRX파일을 확보한 다음, 이것을 오프라인 컴퓨터로 복사하여 개발자 모드에서 끌어놓으면 (혹은 [압축해제된 확장 프로그램을 로드합니다] 버튼을 눌러 버튼을 지정하면)으면 설치하여 운용가능합니다.

 5,673 total views,  5 views today

태블로 서버에서 사용되는 커스텀 쿼리 리스트 만들기

들어가며

태블로 서버에 사용된 커스텀 쿼리의 목록이 필요하다는 요청이 들어왔습니다. 내용을 확인하니 많은 커스텀 쿼리를 사용하였는데 어떤 칼럼이 사용되고 어떤 칼럼이 사용되지 않았는지에 대한 검토가 필요해서 커스텀 쿼리 목록이 필요하다는 것이었습니다.

일 이십 개면 직접 다운로드 받아 태블로 데스크탑을 열어 쿼리문을 확인하면 될 것이지만 수 백개에 달해서 수동 방법으로는 해결이 불가능한 상황이었습니다. 내부의 선수들에게 확인하니 metadata API가 해답이 될 것 같다는 의견이었습니다.

메다데이터 API 및 GrqphiQL 쿼리

https://help.tableau.com/current/api/metadata_api/en-us/index.html

메타데이터api를 이용한 쿼리를 하려면 GrahpiQL 페이지로 가야 가는데 방법은,

  • 브라우저를 열어서 태블로 서버에 로긴한다. 태블로 온라인도 동일하게 적용됨
  • 다음 부분 url을 카피한다. /metadata/graphiql/
  • 브라우저 주소창에서 “.com” 이후 부분을 전부 삭제한 다음
  • 부분 url을 붙여준다

예를 들어 사이트명이 MYCO라면 주소는 아래와 같을 것인데
https://us-west-2b.online.tableau.com/#/site/MYCO/explore
이것을 다음과 같이 바꾸어 주면 됩니다.
https://us-west-2b.online.tableau.com/metadata/graphiql/

이렇게 들어가게 되면 다음과 같은 화면이 나옵니다.

왼쪽창에서 쿼리를 넣어주면 되는데 쿼리 내용은 아래 링크를 클릭해서 확보합니다.

https://github.com/tableau/metadata-api-samples/blob/master/samples/custom-sql-examples.graphql

listCustomSQLTableau 함수를 열린괄호부터 닫힌 괄호까지 복사합니다. 그림에서 붉은 부분을 복사해주세요. 아랫 부분의 다른 함수들로 살펴봐주세요.

이 내용을 graphiql화면에 붙여 넣고 [▶] 버튼을 눌러 실행해줍니다.

혹시 위와 같은 오류메시지가 뜨는 경우가 있습니다. Meatdata API를 사용할 수 있도록 설정하지 않았다는 의미이고, 이런 경우 tsm maintenance meatdata-services enable 커맨드를 콘솔에서 쳐서 실행시켜 주어야 합니다.

실행이 잘 되면 아래와 같이 메타데이터 API 저장소를 잘 만들었다고 나옵니다.

metadata API를 실행 가능하도록 설정했으니 다시 한번 GrahpiQL을 실행합니다. 오른쪽의 query 부분이 전부 커스텀 쿼리입니다. 이 서버의 경우는 3개의 커스텀쿼리를 가지고 있는 듯 했습니다.

아래에 보면 샘플로 4개의 함수가 보입니다.

  • 커스텀SQL테이블 리스팅하기
  • 커스텀SQL테이블과 Parent리스팅하기
  • 커스텀쿼리를 가지는 워크북
  • 워크북 커넥션

이 중 커스텀쿼리를 가지는 워크북 목록도 한 번 쿼리 해보겠습니다.

시험 삼아 커스텀쿼리를 사용하는 워크북 목록을 쿼리해보았습니다. 예상했던 대로 워크북이름 세 개가 쿼리되는 것을 확인할 수 있습니다.

마무리하며

이상과 같이 메타데이터api를 GraphiQL이용한 쿼리 활용사례를 알아보았습니다. 4~500개에 이르는 커스텀 쿼리가 있다면 목록을 만들어야할 때 무척 편리할 듯 합니다.

 1,033 total views,  3 views today

태블로와 주소 정제

들어가며

태블로로 주소 데이터를 만지다 보면 대체 어디까지 주소가 사전 준비되어야 하고 태블로에서 어느 정도의 가공을 해야 활용이 가능할지가 애매한 경우가 있습니다. 실무에서의 경험을 기준으로 다음과 같은 단계가 있을 듯 합니다.

  • 신구주소의 정제
  • 주소의 표준 포맷
  • 지오코딩
  • 태블로에서의 활용

신구주소의 정제

신주소 구주소는 일단 신주소로 변경해주셔야 합니다. 주소의 정제는 아래의 서비스나 업체를 활용하시기 바랍니다. 가끔식 수동으로 주소정제를 할 생각을 하는 분도 보는데 주소가 1~2천개가 아닌 이상은 솔루션을 사용하는 편을 권해드립니다. 참고로 수집한 원주소는 삭제하지 마시기 바랍니다. 변환 결과를 확인하다 보면 사람은 어느정도 해석되므로 수정해주면 되지만 자동으로 컨버팅은 안된다고 결과가 나오는 일이 제법 있습니다.

  • juso.go.kr 도로명 주소 전환 서비스 [바로가기]
    • 도로명 주소 사이트에서 제공해주는 서비스입니다. 50건까지는 수동으로, 3,000건 까지는 파일 첨부로 가능하고 100만건 이하는 전문 업체에서 대행해서 변환을 해서 제공하는 서비스입니다. 공공기관에서 제공하고 있는 서비스이고 100만건이라는 엄청난 양도 하루 이틀만에 변환을 해준다 하니 한 번 활용해보는 것도 괜찮을 듯 합니다.
  • 오픈메이트 새주소정제 지오코딩 서비스 [바로가기]
    • 들어가서 샘플 데이터로 체크해보면 상당히 변환 결과가 깔끔하게 떨어집니다.
    • 지점의 위경도를 계산해주는 지오코딩까지 제공한다고 나와 있습니다.
  • 수지원소프트 주소정제전환서비스 [바로가기]
    • 검색하면 이 업체에서 올린 글들이 많이 검색됩니다.
    • 여러가지 공공 사업쪽에 많은 레퍼런스가 있다 합니다.

주소의 표준 포맷

주소 전환결과를 보시면 알겠지만 최근 대부분의 변환 결과물이 동일한 포맷을 유지하고 있습니다. 시도, 시군구, 신주소를 적고 괄호치고 동명을 적기도 합니다. 확인해보니 도로명주소법 시행령 제3조를 보면 1항 7조에 참고항목이 있는데 이런 것들에 대한 설명은 바로가기에 들어가 보면 나무위키 4번 항목에 잘 설명되어 있습니다. [바로가기] 예시가 잘 되어 있어 아래에 인용합니다. 특별시, 광역시, 일반시에 있는 법정동은 괄호를 열고 적게 되어 있다는데 법정동명을 괄호치고 넣는다..라는 규정이 실제로 존재하는 것은 개인적으로는 처음 확인합니다.

태블로에서 필요한 항목은 공백을 기준으로 주소를 나누어 보았을 때 맨 앞 항목인 [시도]와 두 번째 세번째 항목으로 이루어지는 [시군구]가 있고요, 위의 내용과 같이 괄호 안에 동이 표시되어 있으면 법정동 명도 활용 가능합니다 . (이것은 최근에 알게된 사실이라 동이 없는 지역에 대해서는 좀 더 고민을 해보고 글을 추가하도록 하겠습니다.)

또 아래에서 설명드리는 위도, 경도값이 있으면 시각화에 활용할 여지가 있고 나머지 부분은 태블로에서의 활용이라는 측면에서는 크게 중요하지 않습니다. (실질적으로 우편물 등을 보낸다던가 하는 경우에는 당연히 정확도가 중요하겠으나) 태블로 같이 시도 통계, 시군구 통계 등을 낸다거나 시고/시군구/읍면동에 거주 인구로 농담을 표시한 후에 특정 지점 (위경도)을 찍는 등의 일들에는 제한된 값만 활용하면 된다는 것을 유념해주시기 바랍니다.

지오 코딩

지도위 특정 위치에 마크를 표시하려면 위도 경도가 필요합니다. 주소를 가지고 위도 경도를 확보하는 방법을 지오코딩이라합니다. 보통 다음 두 가지 방법을 추천드립니다.

  • 구글시트에서 awesome Table를 이용하는 방법
    • 구글 시트에 주소를 불러들여서 주소인 칼럼을 지정해주면 위/경도 칼럼에 위/경도를 계산해서 넣어주는 방식입니다.
  • 무료 툴을 이용하는 방법 (Geocoder-Xr)
  • 외부 업체의 서비스를 이용하는 방법
    • 지오 코딩으로 전문 서비스 업체 검색해보시면 검색되실 겁니다.

태블로에서의 활용

위의 시도, 시군구, 읍면동 그리고 위경도만 있으면 태블로에서 시각적으로 잘 표현할 수 있습니다.

간략하게 문장으로만 표현해보면 주소 정제가 깨끗하게 진행되었다고 가정할 경우 맨 첫칼럼은 시도 정보일 것이고, 두번째와 세번째 칼럼은 시군구에 해당하게 됩니다. 세부적으로는 세번째 칼럼의 맨 끝글자가 “구”로 끝나는 경우에는 두번째 칼럼 + 세번째 칼럼이 시군구 명이고, 그렇지 않은 경우에는 두번째 칼럼만이 시군구 명 입니다. 또 괄호가 있는 경우에는 여는 괄호 “(“를 기준으로 잘라서 오른쪽 칼럼 첫번째 단어가 법정동이 됩니다. 이런식으로 태블로의 계산식을 활용하여 각종 통계 값들을 끌어낼 수 있습니다.

이런 방식으로 진행되는 태블로에서의 데이터 활용 시각화는 분량이 제법 될 것 같으므로 다른 글에서 새롭게 기술하겠습니다.

마무리하며

태블로는 BI툴이기 때문에 데이터가 준비된 것을 전제로 하여 그 다음 활용 부분을 맡는 경우가 많습니다. 주소변환이나 지오 코딩등은 데이터의 준비에 관한 문제로서 통일된 주소록을 확보한다거나 위경도를 확보한다는 것은 사전에 준비되어야 합니다. 주소 데이터는 계속해서 추가되는 것이므로 항상 변환이 필요하되 초기 변환에 대부분의 노력이 들어갈 것이므로 데이터의 양과 질을 고려해서 무료 ~ 적당한 비용 범위까지의 서비스를 이용하는 것도 권해드립니다.

 1,466 total views,  3 views today

SHP의 한글이 깨지거나 좌표계 오류인 경우 QGIS의 기본 조작법

아래와 같은 오류메시지를 보는 경우가 있습니다.

내용을 읽어보면 prj파일이 없다는 것이고 공간 기준 정보가 포함되어 있지 않아서 WGS84 형식으로 가정할 것인데 오류가 있을 수 있다는 내용입니다. 확보한 SHP파일이 불완전하기 때문에 생긴 문제라 볼 수 있습니다.

이 경우 QGIS를 활용하여 간단하게 수정 가능합니다. 물론 제대로된 SHP파일을 구하면 QGIS를 건드릴 이유도 없겠지만 무료 톨이고 간단히 만질 일이 가끔 가다 있기 때문에 기본 조작은 알아두면 편리합니다.

다음의 3가지를 설명드립니다.

  • QGIS의 설치
  • VECTOR LAYER 불러들이기
  • 한글CHAR 깨지는 현상 수정
  • 좌표계 지정
  • LAYER 저장하기 (내보내기)

QGIS의 설치

QGIS는 오픈소스로 유명한 GIS툴입니다. “QGIS” 로 구글링하면 쉽게 찾아 볼 수 있습니다. 다운로드 링크가 바로 보이므로 바로 들어갑니다.

독립설치형 버젼으로 안정화 버전을 선택합니다. 다른 버젼을 선택해도 됩니다.

도네이션을 유도하는 창이 있는데 기부를 하는 것도 좋은 방법이 아닐까 생각해봤습니다.

프로그램의 다운로드가 완료되면 엔터 엔터하여 잘 설치하고 실행해줍니다.


VECTOR LAYER 불러들이기

아래와 같은 화면이 나오는데 이제 확보한 shp파일을 읽어줄 차례입니다.

그림과 같은 메뉴를 선택하면 됩니다.

벡터 레이어인 shp파일을 선택하면 됩니다. 좌표계가 지정 안되어 있었는지 먼가를 물어보지만 일단 오케이 해줍니다. 저 파일들을 4~5개는 항상 묶음으로 함께 보게 됩니다.

대한민국 지도를 보면 잘 불려들어온 것을 볼 수 있습니다.

한글CHAR 깨지는 현상 수정

여기까지 온 분들의 절반 이상은 한글셋이 깨지기 때문에 들어오셨다고 해도 과언이 아닐텐데요, 제대로 읽어들였는지는 아래와 같이 확인 가능합니다.

아무것도 안하고 SHP파일을 불러들였는데 아래와 같이 나왔다면 한글 글자셋이 잘못되어 있는 경우입니다.

이것은 저장된 방식과 읽어들인 방식이 달라서 생기는 문제인데요, 이것은 레이어의 속성을 봐야 합니다.

두 번째 메뉴인 소스를 선택하게 되면 데이터 인코딩 방식이 System으로 되어 있는 것을 볼 수 있는데 이것을 euc-kr (이던 utf-8이던 원래 저장된 방식에 맞게..) 로 지정해주면 됩니다. EUC-KR로 변환하여 속성창을 다시 읽어보니 제대로 보이게 되었습니다.


좌표계의 지정 및 저장

이제 한글이 제대로 보이니 저장을 해야겠습니다. 좌표계도 문제가 되었었는데 저장 옵션에 있습니다. 좌측 LAYER PANE에서 찾아도 안보입니다. 에전 버젼에서는 여기서 잘 되었었는데 없어진 모양입니다. 마음을 가라앉히고 상단의 레이어 메뉴를 선택해줍니다. 원하는 SHP레이어만 저장하려고 하니까요.

SHP 파일은 아크GIS를 만든 ESRI의 형식입니다. SHP파일로 다시 저장할 것이므로 해당 옵션을 선택합니다. 파일 이름도 정해야할텐데 […] 버튼을 누르면 저장할 위치의 SHP파일 목록이 뜨게 됩니다. 이번에는 UTF-8형식으로 저장하려 하니 이름만 살짝 TL-SCCO_EMD_UTF8.shp으로 저장할까 합니다. 각자 알아서 좋은 이름을 저장해주세요.

좌표계는 여전히 오류가 있다고 나오는 경우 맨 마지막의 EPSG:4326 – WGS84로 저장하시면 태블로에서 이상 없이 불러들일 수 있습니다.

[OK]를 눌러주면 이상 없이 저장되고 새 레이어가 하나 생긴 것을 볼 수 있습니다.


저장 결과의 확인

이제 태블로에서 해당 파일을 불러들여 봅니다. 한글 깨짐 없이, 좌표계 지정 오류 없이 잘 들어온 것을 볼 수 있습니다.

태블로 화면도 이상없이 잘 그려지는 집니다. 아래와 같은 기본 SHP파일의 조작에 대해서는 별도로 설명드리겠습니다.


마무리하며

태블로를 사용하시는 분들은 대부분 SHP를 만들기 보다는 사용만을 할 일이 월등히 많습니다만, 가끔식 QGIS가 필요한 경우가 있고 또 다른 경우를 위해서도 QGIS의 간단한 조작방법은 알아두는 것이 좋을 것 같아 정리해 보았고요 이런 경우 도움이 되었으면 좋겠습니다.

 3,869 total views,  4 views today

엑셀이 없을 때 – 아파치 오픈오피스

들어가며

디노입니다. 대부분의 직장인들이 MS오피스를 당연하게 사용하고 있지만 사용할 수 없는 경우가 있지요? 피시방에서 급하게 xls데이터를 봐야 하는 경우나 임시로 테스트 하는 서버에 정식 라이선스를 설치하기 곤란하거나 회사에서 오피스를 공식적으로 사용하지 않고 있는 경우 등이 그런 경우일 듯 합니다.

한편 태블로를 본격적으로 사용하시는 여러분은 엑셀을 어떤 용도로 사용하시는지요? 저도 엑셀이 없는 서버에서 데이터를 만져야해서 이런 저런 생각을 해보니 엑셀은 데이터 내용 확인, 칼럼명 변경, CSV로 저장 등 아주 극히 일부의 기능만 사용하고 있었습니다.

개인적으로는 엑셀대신 구글시트를 업무의 90% 이상 사용할 정도의 구글빠입니다만, 로컬의 xls파일을 csv파일 형식으로 저장하는 것은 클라우드에 데이터를 올렸다가 내려야하는 구글시트로 해결하기에는 효율적이지 않은 문제라 다른 설치형 툴을 찾아보았습니다.

오픈오피스 칼크

문득 피시방 가면 깔려있는 오픈오피스를 사용해볼까 하는 생각이 들어 테스트를 해보았습니다. 물론 예전에는 ‘별 쓸 데 없는 것을 깔아두었담’ 했었지만요..

먼저 구느님에게 물어보았습니다. Apache OpenOffice라고 되어 있습니다. 아파치 소프트웨어 재단에서 만들었나 봅니다. 아파치 소프트웨어재단은 아파치 http 서버를 포함한 아파치 소프트웨어 프로젝트를 지원하는 비영리 재단이라 하죠. 신뢰도가 조금 높아집니다.

링크를 들어갔더니 다운로드가 보입니다. 클릭하여 통과 통과..

아래 그림처럼 다운로드를 해줍니다.

자동으로 알아서 잘 다운로드 됩니다. 클릭하여 설치를 진행합니다.

계속 엔터 엔터하여 설치해줍니다. 그림은 생략합니다.

적절한 위치에 잘 설치된 것 같습니다.

오픈오피스 칼크의 활용

오픈오피스 칼크(Calc)를 열어줍니다.

네모네모한 것이 엑셀과 과히 다르지 않은 UI입니다. 당연하겠지요.

파일을 열어보겠습니다. 엑셀과 동일하게 잘 불려옵니다.

국가통계포털 KOSIS에서 받은 국적 지역 및 체류기간별 외국인 출국자 화면
http://kosis.kr/statisticsList/statisticsListIndex.do?menuId=M_01_01&vwcd=MT_ZTITLE&parmTabId=M_01_01&parentId=A.1;A_9.2;#SelectStatsBoxDiv

위의 KOSIS의 데이터를 받는 과정에 대해서는 별도로 다시 준비해보겠습니다. 태블로로 추가 분석을 한다는 측면에서 보면 여러가지 알아두심 좋은 팁들이 많이 보이네요.

자 이제 원래 제가 하려고 했던 작업인 [CSV파일로 저장]하기를 해보겠습니다. 간단히 이유를 말씀드리면, 예를 들어 5년치 데이터를 다운로드 받는다고 할 때, 한 개의 엑셀 파일에 매년 시트 1개씩 총 시트 5개를 받게 되면 태블로의 유니언 기능 활용에 크게 문제가 없습니다만, 매년 엑셀 파일 한개씩 다운받아서 엑셀 파일이 5개가 되면 이게 태블로의 유니언 기능을 적용할 수가 없더라고요. 무척 아쉬운 기능입니다.

CSV 파일은 좀 다릅니다. 한 폴더내에 있는 여러개의 CSV파일은 엑셀 한 파일내의 여러시트와 같이 취급되어 유니언이 용이합니다. 그래서 일단 CSV파일로 저장하기를 해보겠습니다.

파일-저장하기 혹은 ctrl-shift s를 눌러서 다른 이름으로 저장 기능을 선택한다.

여러가지 다른 형식중에서 CSV파일을 선택하여 저장한다.

몇 가지 추가적으로 묻는데 엔터 엔터.. 해서 넘어가 줍니다.

잘 저장되었으니 다시 불러들여보겠습니다. 오픈오피스 칼크는 CSV도 잘 읽어오네요. 엑셀도 물론 잘 읽어옵니다. 노트패드나 여러 텍스트 에디터로 열어보아도 열리긴 합니다만, 역시 네모 반듯한 툴에서 데이터를 읽어들여봐야 제대로 들어와 있는지 확인이 용이하지 않을까 합니다.

혹시 콤마가 선택되어 있지 않으면 셀구분이 깨질테니 꼭 선택해주세요.

혹시 콤마를 선택하지 않은 경우 아래와 같이 보입니다. 꼭 선택해주세요.

마무리

이상 아파치 오픈오피스를 살짝 알아보고 오픈오피스 칼크를 설치해보았습니다. 오픈소스로 무리없이 설치 잘 되고, 엑셀파일 잘 읽어들이고, CSV파일 등의 형식으로도 잘 저장되는 것을 확인할 수 있었습니다.

MS오피스 제품군이 없는 경우 간단한 데이터 조작 및 저장 정도만 사용하는 태블로 사용자들에게는 적극적인 대안이 될 수도 있겠다는 생각을 했습니다. 물론 일반 오피스 업무 전반에 적용가능할지는 각자 판단할 일이겠습니다.

 1,191 total views,  4 views today

유튜브 강의 다운로드 필요할 때 어떻게 하시나요?

디노입니다. 요즘 좋은 동영상들 많죠? 태블로 분야에도 좋은 동영상들 많고 특히 저희 회사도 코로나 겪으면서 교육팀에서는 질 좋고 다양한 유튜브 동영상을 열심히 만들어 올리고 있답니다.

이런 유튜브 동영상을 고객에게 내부 교육용으로 추천해드렸더니만 망분리가 되어 있는 상황이라 회사 내부로 파일을 옮기는 방법 밖에 없다하더군요.

제가 가장 좋아하는 태블로 소개 동영상입니다. 배경 나레이션이 화면과 잘 어우러져서 몇년 지난 동영상인데도 소개할 때마다 틀어드리는데 이것을 다운로드 해볼까요?

이 동영상의 url은 youtube.com/watch?v=utTJmk2TBRA 인데요 다운로드 방법은주소 앞에 ss를 붙이는 것입니다.

ssyoutube.com/watch?v=utTJmk2TBRA 를 클릭하시면 다운로드 창으로 이동합니다.

여기에서 다운로드버튼을 클릭하면 적당한 사이즈의 mp4파일이 다운로드됩니다. 익스텐션도 있는 모양인데 설치는 알아서 판단하시기 바랍니다.

유튜브 앞에 SS붙이는 것 잘 기억해두었다가 사용해보세요. 감사합니다.

 940 total views,  4 views today

크로스탭이란 ?

태블로에 크로스탭으로 내보내기라는 기능이 있습니다.

문의가 있어서 확인해보니 크로스탭은 cross-dimensonal tabulation의 약자로서
직교 테이블이라는 단순 용어입니다.

사용 가능한 필드 영역의 필드를 행, 열 영역에 놓고 그 교차지점에 해당하는 값을 채우는 방식을 말합니다. 숫자로 된 표 형태를 생각하시면 되겠습니다. 생각보다 간단한 개념이지요?

태블로에서 데이터크로스탭의 차이를 살펴보면 데이터는 해당 화면에 나타나 있는 모든 개별 데이터 목록이고요, 크로스탭은 양쪽 행, 열에 올라와 있는 차원으로 요약된 집계갑이라는 것이 차이입니다. 한 마디로 원시 데이터, 집계 데이터의 목록이죠.

파일의 형식은 CSV로 저장됩니다. 많이들 아실듯 한데 CSV또한 Comma Separated Value라고 해서 텍스트 값이되, 각 값을 컴마로 구분한 데이터 표기형식이죠. 일반적으로 txt파일의 한 저장 방식입니다.

CSV파일은 텍스트 데이터 저장 방식의 하나이기 때문에 엑셀에서 무리 없이 읽어들일 수 있습니다. 엑셀로 다운받는 것이 가능한가 라고 하는 질문에서는 “상식적인 수준에서 엑셀에서 지원하는 양식이므로 지원된다“라고 답변하시면 됩니다. 다시 말해 “CSV파일로 저장되기 때문에 엑셀 다운로드가 되는 것은 당연하다“라고 말씀하시면 됩니다.

샘플은 여기를 클릭해주세요.

 1,455 total views,  5 views today

태블로 대시보드 화면 전환 상황판을 위한 크롬 익스텐션

들어가며

대시보드 여러 장을 돌려가면서 사용할 일이 있습니다. 예를 들어 대한민국 일자리 상황판이나 제조 현황판, 코로나 상황판 이런 것들이 될텐데요, 한 번에 여러개의 KPI를 한 곳에 모아놓은 종합 대시보드를 만들어서 그것을 볼 수도 있겠지만 여러개의 KPI별로 만들어진 대시보드 여러장을 돌려가면서 살펴볼 수 도 있습니다.

대시보드의 데이터 갱신을 위해 지금까지 사용해온 방식은 몇 가지 있고 그 중 하나는 크롬의 익스텐션을 이용하는 것입니다. 처음 들어보시는 분도 있겠지만 크롬 브라우저의 기능을 강화해주는 브라우저에 설치하는 보조 프로그램이 익스텐션이라 할 수 있습니다.

이번에는 데이터 갱신 뿐만 아니라 몇 개의 화면을 로테이팅 할 필요가 있어서 그런 익스텐션을 찾아보았습니다.

탭-로테이트 크롬 익스텐션

탭-로테이트라는 익스텐션을 소개합니다. 몇 가지 익스텐션을 테스트해 보면서 가장 필요한 특징은 다음 세 가지 정도였는데요 아래에서 설치하면서 확인해보겠습니다.

  • Full Screen이 지원되어야 한다
  • 사전 로딩이 지원되어야 한다.
  • 화면 및 동작 정의가 편리해야 한다.

먼저 설치는 통상의 크롬 익스텐션 설치 방법을 따르면 됩니다. 혹시라도 망분리 등으로 오프라인 설치 방법이 필요하신 분은 [여기]를 클릭해서 내용을 참고하시기 바랍니다.

https://chrome.google.com/webstore/detail/tab-rotate/pjgjpabbgnnoohijnillgbckikfkbjed

설치는 [Chrome에 설치] 버튼을 눌러서 하게 됩니다. 확인을 해서 설치해 주게 되고요.

필요한 탭을 열어 놓은 상태에서 실행 버튼인 [▶]을 눌러주게 됩니다. 기부를 권유하는 창이 뜨는데 관심 있는 분은 기부도 좋지 않을까 생각합니다.

플레이/pause버튼을 우 클릭하여 [옵션]을 열면 텍스트 에디터가 나옵니다. 코드라고 무턱대고 겁먹지 마시고요 내용을 살펴보겠습니다.

  • URL목록이 보이고
  • duration은 유지 시간입니다.
  • tabReloadIntervalSeconds 는 해당 탭을 리로드 하는 타이밍입니다. 데이터가 가끔씩 한 번 바뀌는 경우에는 인터벌을 크게 놔도 좋을 듯 합니다.
  • 최상단에도 옵션이 있는데 fullscreen, autoStart는 단어만으로 의미를 아실 듯 합니다.
  • lazyLoadTabs은 탭이 열리기 전에 미리 url을 로딩한다는 의미로서 화면 로딩시간이 느린 페이지의 경우 다른 페이지가 사용자에게 보여지는 동안에 미리 url을 로딩하기 때문에 모래시계가 보여지는 시간을 최소화 해줍니다. 가장 중요한 기능 같습니다.

옵션 설정해주기

한편 태블로 화면의 경우에는 서버 url을 그대로 사용하셔도 되고요, 혹은 url의 끝부분에 .pdf, .png를 붙여주게 되면 pdf나 이미지로 로딩되게 됩니다. 위의 lazyLoadTabs 기능으로 인해서 직접 로딩을 해도 되는지 판단이 필요할 듯 합니다.

샘플을 아래에 붙입니다.

{
“settingsReloadIntervalMinutes”: 1,
“fullscreen”: true,
“autoStart”: true,
“lazyLoadTabs”: true,
“websites”: [
{
“url”: “http://lgpoc.planit.ai/#/views/1/1?:iid=3”,
“duration”: 10,
“tabReloadIntervalSeconds”: 15
},
{
“url”: “http://lgpoc.planit.ai/#/views/1/2?:iid=3”,
“duration”: 10,
“tabReloadIntervalSeconds”: 15
},
{
“url”: “http://lgpoc.planit.ai/#/views/1/3?:iid=3”,
“duration”: 10,
“tabReloadIntervalSeconds”: 300
},
{
“url”: “http://lgpoc.planit.ai/#/views/1/1_1?:iid=3”,
“duration”: 10,
“tabReloadIntervalSeconds”: 15
}
]
}

태블로는 뷰의 url을 로딩하면 인터렉티브한 태블로 화면이 나타나게 되고요, url뒤에 pdf나 png를 붙이면 pdf나 png가 로딩되게 됩니다.

제가 테스트를 해보니 일반 인터렉티브 화면의 경우 아래 그림과 같이 테두리를 자동으로 없애기가 어려웠습니다. [전체 화면] 버튼을 눌러도 리로딩할 때 자꾸 원상태로 돌아가더라고요.

이미지를 로딩하게 되는 경우에는 아래와 같고, 이미지의 사이즈도 지정하실 수 있습니다.

?:size=3000인 파라미터를 붙이게 되면 아래 그림처럼 폭이 3000인 이미지가 로딩됩니다. 이 로테이션을 운용할 장비의 해상도를 확인해서 원하는 사이즈로 이미지를 다운로드 받으시면 되겠습니다.

응용

이미지 사이즈가 다르거나 혹은 제목 등을 넣고 싶다면 위 url을 html페이지를 만들어 내장시키면 됩니다. 위 url 대신 로컬 html을 로테이션 시키는 것입니다.

https://help.tableau.com/current/pro/desktop/ko-kr/embed_ex_img.htm

예를 들어 NOTEPAD혹은 에티터를 열어 page1.html을 만든 다음 아래와 같은 코드를 내장시킵니다. 이와 같은 페이지를 page1, page2, page3로 만들어 로테이션을 시키게 됩니다.

이 경우 이미지가 스크린 사이즈랑 딱 맞지 않는 경우 height혹은 width 중 하나만을 100%로 놓아야 이미지 비율 왜곡이 생기지 않게 됩니다. html 샘플은 [여기]를 클릭해서 다운로드하세요.

마무리

전반적으로 원하는 기능은 전부 있었습니다만, 사람이 어느정도 기능이 지원되면 또 욕심이 생기는지라 하면 전환간에 부드러운 전환은 안되는가 하는 욕심도 슬며시 생겼습니다. 1) smooth하게 탭을 전환해주는 익스텐션이 있을까 하는 생각과 함께 2) 오픈 소스이니 소스를 고치는 것도 방법이 아닐까 했습니다. (물론 folk를 내는 순간 업데이트는 포기해야 하겟지요)

이번에는 이 정도로 일단 마무리하려고 하는데요, 간이하게 대시보드로 상황판이 필요한 분들에게 도움이 되시기 바랍니다.

추가팁 – 잘되는 익스텐션 복사하기

혹시 잘 운용되고 있는 크롬의 익스텐션을 복사할 수 있을지 확인해봤는데 그것도 가능합니다.

먼저 사용자 계정별로 익스텐션을 설치하게 되므로 그 디렉토리를 찾습니다. 요령은 아래의 커맨드를 주소창에 붙여 나온 결과값을 보고 폴더의 위치를 확인합니다.

chrome://version

이것을 누르게 되면 이런 이미지를 볼 수 있습니다. 여기서 프로필 경로가 가장 중요합니다. 드래그하여 복사를 해주세요.

(윈도우+E 버튼을 눌러) 탐색기를 켜준 주소창에 위 주소를 붙여넣어 다음 해당 폴더로 이동하여 Extension폴더로 들어갑니다. 프로파일은 크롬의 사용자 추가시마다 일련번호를 붙여서 숫자가 늘어나는 듯 했습니다. 위의 프로필 경로가 가장 확실한 방법입니다.

익스텐션 폴더에 들어가면 여러 익스텐션이 있는데 이게 또 암호입니다.


어떤 폴더를 복제할지는 확장 프로그램 관리로 가봐야 합니다. 여기에 개발자 모드를 켜서 프로그램 아이디를 확인하시거나 혹은 해당 익스텐션의 [세부정보]를 눌러 들어가면 주소창에 프로그램 아이디가 보입니다.


여기서는 pjgjpabbgnnoohijnillgbckikfkbjed 이므로 이 이름으 가진 폴더를 찾으면 됩니다.

이 폴더를 압축하여 zip파일을 만들어 필요한 사람에게 전송하면 되겠습니다.

 1,157 total views,  4 views today

내 패스포드 안의 스탬프 (그림효과가 나는 지도를 활용해서 내 viz멋지게 만들기)

디노입니다. 태블로 갤러리를 살펴보다가 디자인이 멋진 viz가 있어서 소개합니다. 바로 다음 viz인데요. Stamps.tms 입니다.

임베딩 하다보니 창이 좀 좁네요. 여기를 클릭하시면 새창에서 보실 수 있습니다.

깔끔한 디자인도 멋지고, 배경지도도 괜찮아 보여서 다운로드 받아서 살펴봤습니다.

곡선라인은 MakePoint, MakeLine으로 표시해두었네요. MakePoint 함수를 살펴보면 간단히 위경도를 가져다가 점을 선언했습니다. 시작점, 종료점 모두 적용했네요.

선사이의 항공로선을 이어주려면 MakeLine을 사용하게 됩니다. 위에서 선언한 두 점 사이에 선을 그어주는 계산식을 만드는 것만으로도 두 점 사이의 항공로를 표현하게 됩니다. 지구는 둥근데 우리는 이것을 펼쳐놓은 네모난 지도를 보고 있으므로 시각의 왜곡이 존재하는 것이겠죠.

곡선이 상당히 아름답습니다. 이 기능 출시전에는 지구 곡율을 반영한 여러가지 함수를 조합해서 어렵게 어렵게 구현했었습니다.


여기서 푸른 색의 지도 또한 눈에 띕니다. 브이월드니 다음 지도, 구글 지도 찾는 분들이 대부분 디테일한 지도를 원하신다면, 이런 그림 느낌이 나는 지도들은 디테일이 보이면 오히려 좀 불편한, 분위기가 나는 지도들이 필요한 경우에 많이 쓰입니다. 대부분 지구 전체 혹은 태평양 지도 같은 넓은 지역을 커버하는 지도가 필요한 경우입니다.

그런데 실제로 이런 그림과 같은 지도들도 강력한 해상도를 가지고 있습니다. 우리가 잘 아는 강남역을 향해서 줌인해 볼까요?

강남역의 웬만한 건물은 선명하게 보이고 있습니다. 사람이 일일이 그리지는 않았을 것이고 정밀한 지도를 그림과 같은 느낌이 나도록 가공하였음은 충분히 짐작할 수 있는데도 이렇게 줌인해볼 때 마다 지도 마다 전부 다른 느낌이 들어서 감탄을 하고는 합니다.


여기서 지도 고를때의 팁 한가지만 더 말씀드리면요, 바로 독도와 동해입니다. 위와 같이 지도의 아름다움과 이미지가 주는 효과에 감탄을 하다보면 가끔 잊는 일이 있는데 바로 독도가 제대로 표시되어 있는지 동해가 아니라 일본해라고 표시되어 있는가입니다.

독도를 찾느라 한참 걸렸습니다만, 독도는 제 위치에 제 명칭으로 표시가 되어 있습니다.

아무리 지도가 아름다워도 일본해라고 있는 지도는 사용하면 문제가 생길 수 있습니다. 저는 밤 12시가 다 된 시간에 다급한 고객의 전화를 받은 적이 있는데요, 저희가 여러 지도 중에서 디자인이 맘에 드는 지도를 넣어드렸고 고객도 ok를 하셨던 건인데 누군가가 공개된 viz에서 지도를 이리 저리 옮겨보다(panning)가 동해가 아닌 Sea of Japan이 있는 것을 발견하고 신문사에 연락을 했다는 것이었습니다.

전화를 받자 마자 야간에 부랴 부랴 지도를 수정해드렸고, 다음날에 신문 기사가 나가는 것을 막았다고 전해들었는데요. “공공기관에서 그런 것도 확인하지 않고 VIZ를 만들어서 공개하다니 ” 하는 기사가 나갈뻔 한 사건이었습니다. 이런 일이 있고 난 다음부터는 습관적으로 동해와 독도는 찾아보는 습관이 생겼습니다.

이런 경우 제대로 표기가 된 지도를 사용하는 것이 가장 좋겠습니다만, 사정상, 디자인상 여의치가 않은 경우 지도의 PANNING 기능을 막는 방법인데요 아래처럼 맵 – 맵 옵션 – 3개 선택사항 해제로서 가능합니다. 이렇게 되면 지도가 고정되어 사용자가 패닝을 통해서 이리 저리 옮겨다니면서 의도하지 않은 검토를 하지 못하게 할 수 있습니다.


어떤 지도를 사용했는지를 살피기 위해서 데스크탑에서 맵을 눌러봤습니다.

stamps란 이름을 가진 지도입니다. 이것을 다른 viz에서 사용하기 위해서는 Manage Maps란 메뉴를 눌러줍니다. 간단한 특성값이 보이는데 잘은 모르겠네요.

살피다 보니 export기능이 있습니다. tms파일 형식으로 내보내줘서 나중에 사용할 수 있을듯 합니다.

tms파일을 열어보니 api 키값과 서버 주소등이 보입니다.

여기를 클릭하시면 stamps.tms 파일을 압축한 파일을 다운로드 받을 수 있습니다. 필요하신 분들 잘 활용하시기 바랍니다. 키값도 보이고 있는 것을 보면 저작권, 사용권등의 문제들에 대해서는 추가 적인 검토가 필요하지 않을까 생각해봤습니다. 나중에 이런 맵들의 저작권등에 대해서도 한번 검토하는 글을 올려보겠습니다.

이 tms 파일을 my Tableau Repository폴더에 넣어두면 태블로 데스크탑에서 지도 그리려고 할 때 선택목록에 뜨게 됩니다. 만일 폴더에 자동 목록이 뜨지 않으면 Import를 눌러서 로딩해보시기 바랍니다.

예쁘고 아름다운 지도를 포한한 멋진 viz를 만드시기 바랍니다.

 609 total views,  2 views today