분류 전체보기 166

[Tableau] 도넛차트 그리기

이번 포스팅에서는 태블로를 이용하여 도넛 차트를 그리는 방법에 대해 포스팅하고자 합니다. Step by Step으로 최대한 자세하게 작성하였습니다. 일단 태블로에서는 도넛차트를 바로 그릴 수 있는 기능을 제공하지 않고 있지 때문에 우리는 파이차트를 이용해서 도넛차트로 만드는 과정이 필요합니다. 사용한 태블로 버전: Tableau Desktop 2021.4 사용한 데이터: Sample - Superstore 목표 화면: 아래의 사진과 같은 도넛 차트를 만들고자 합니다. 제품 카테고리에 따라 구분되고, 그중에서도 Technology 비율에 대한 레이블을 도넛 차트 중앙에 작성하여 쉽게 파악할 수 있도록 작성하겠습니다. 1단계: 첫 번째 단계에서는 파이 차트(Pie Chart)를 두 개를 만들어 줄 것 입니다..

[Tableau] 연습 2022.02.27

[GA] 기본 지표

1. User 웹사이트에 방문하는 유저는 중복된 사용자는 제거된 수로 집계된다. 만약 웹사이트에 같은 사람이 하루에 세 번 접속했다고 하더라도, 동일한 사람으로 카운트 해야하는게 맞기 때문이다. 따라서 브라우저 쿠키에 클라이언트 아이디가 정해져있고 이를 바탕으로 유니크한 값만 카운트 될 수 있는 것이다. 다만 브라우저별로 생성되기 때문에 크롬이나 익스플로러, 파이어폭스 별로 다를 수 밖에 없다는 한계도 있다. 또한 사용자가 주기적으로 쿠키를 삭제하는 경우에는 재방문을 하더라도 신규 사용자로 인식할 수 밖에 없다. 2. Session 유저가 웹사이트를 방문하면서 세션이 시작되고 대략 10분간 탐색을 했고 종료를 했다면 한 세션이 종료되었다고 할 수 있을 것이다. 다만 세션의 시작은 유저가 디바이스를 바꿨다..

워크시트 2022.02.26

[GA] 목표 설정 하기

웹사이트에서 어떤 목표라 하면 방문자가 회원가입을 통해 회원이 되거나 제품의 최종 구매까지 이어지는 등의 행위를 달성하도록 하는 것을 말할 수 있을 것이다. 이러한 과정이 웹사이트에서 얼마나 수행이 되는지를 확인하고자 한다면 반드시 목표 설정을 해주어야 한다. 계정을 만들고 스크립트가 사이트에 반영이 되면 최소한 하나라도 목표 설정을 해두어야 나중에 제대로 된 분석을 할 수 있다. 목표 설정을 해두지 않으면 보고서를 봐도 '획득'이나 '행동'에 대한 내용만 확인이 가능하고 '전환'에 대한 데이터는 확인할 수 없다. 설정하는 방법도 어렵지 않다. 먼저, 애널리틱스 하단의 관리 아이콘을 누르고 보기 탭에서 목표를 선택하면 된다. 그러면 아래와 같은 화면이 나오는데, 새 목표를 설정하기 위해서 '+ 새 목표'..

워크시트 2022.02.25

[Tableau] Buffer Calculation(데이터 준비)

태블로에서 버퍼(Buffer)를 사용하면 특정 지점에서 반경 n(km, m, miles) 주변에 대한 시각화가 가능하다. 1. 데이터 준비 위치 정보가 포함된 데이터를 준비한다. 정확한 위치를 위해서 위도, 경도가 포함되어 있어야 해당 위치를 명확하게 표시할 수 있다. 예시 데이터에는 세종시의 초등학교와 중학교의 위치 정보와 세종시에 등록된 학원의 각종 정보가 담겨있다. 모두 공공데이터포털에서 수집할 수 있으며, 필요한 정보를 얻기 위해서 약간의 전처리 과정을 거쳐서 사용하였다. 참고로 세종시 초등학교, 중학교 원 데이터에는 위도와 경도가 포함되어 있지 않았다. 이럴 때는 지오코딩(Geocoding)를 이용할 수 있다. 구하고자 하는 위치 정보의 양이 작다면 귀찮더라도 일일이 찾아봐도 되고, 양이 많다면..

[Tableau] 연습 2022.02.20

[Excel] 엑셀에서 필터링한 데이터만 저장

엑셀에서 필터를 사용할 일은 많은데 막상 필터링한 데이터를 어떻게 저장하는지 모르는 경우가 있다. 따라서 이런 경우에 참고할 수 있는 방법을 알아보고자 한다. 아래의 예시 데이터는 세종시 상가(상권)정보이다. 여기에서 E열의 '상권업종대분류명'이 '학문/교육'인 데이터만 필터링하려고 한다. 데이터가 필터링된 값만 보인다면, 이제 중요한게 '화면에 보이는 셀 선택'을 설정해주는 것이다. 가장 왼편의 행 번호를 보면 해당되는 행만 나와있을텐데, 이 때 '화면에 보이는 셀 선택'을 해준다면 해당하는 셀만 선택되고 나머지 숨겨진 행들은 선택되지 않는다. 1) '화면에 보이는 셀 선택'을 사용하기 위해서 아무 셀에나 두고 F5키를 눌러준다.(만약에 특정 여러 셀을 선택하고 싶다면 해당 셀들만 선택하고 F5키를 누..

워크시트 2022.02.19

[Python] Selenium Data Crawling 준비 (맥 용)

1. Selenium 설치 pip install selenium 2. 웹드라이버 준비(크롬 기준) 크롬 브라우저 버전 확인 브라우저 상단 주소표시줄 가장 우측 점 세개 클릭 → 가장 하단 '도움말' → 'Chrome 정보' 클릭해서 나오는 설정 화면에서 크롬 브라우저의 버전을 확인한다. 현재 사용 버전은 98.0.4758.80 이므로 해당 버전에 맞는 드라이버를 다운 받으면 된다. 크롬드라이버 다운로드 https://sites.google.com/chromium.org/driver/ 해당 주소에서 확인한 버전에 맞는 드라이버를 찾아서 다운받는다. 화살표로 표시한 다운로드에 들어가서 보면 최근 릴리즈부터 차례로 나와있으니 해당하는 버전에 맞게 다운받으면 된다. 리눅스, 맥, 윈도우에 맞게 .zip 파일을 ..

[Python] 연습 2022.02.17

[Tableau] 이중축(Dual Axis)과 Combined Axis Chart

태블로에서 많이 사용되는 이중 축 차트와 Combined Axis Chart에 대한 정리 이중축 그래프를 만드는 방법도 어렵지 않다. 아래의 예시에서는 사고 유형 중분류(Type - Medium Class)차원을 올려주고 사망자수(Fatal)과 전체 부상자수(Total Injure)를 둘 다 올려주었다. 이 때 아무런 설정 없이는 두개의 차트가 분할되서 출력되는 것을 확인 할 수 있다. 하지만 화면에서 보이는 것처럼 Total Injure에 해당하는 값을 마우스 오른쪽 클릭으로 '이중 축'으로 만들어주게 되면 점으로 표현된 이중 축 차트가 만들어지게 된다. 위 화면에서도 볼 수 있듯이 이 때 이중 축 차트는 왼편에 각각의 마크 카드가 생성된다. 상단의 알약도 형태가 변한 것도 확인할 수 있을 것이다. 또..

[Tableau] 연습 2022.02.11

[Tableau] Level of Detail (Fixed Function)

Fixed Function과 Filter를 활용한 화면 아래의 화면처럼 'Type - Major Class'만 활용해서 만들면 사고 유형 대분류에 해당하는 자료만 확인할 수 있고 중분류에 해당하는 사고 건수는 확인할 수 없다. 때문에 '계산된 필드 만들기'로 필드를 만들어서 적용시켜야 한다. 아래와 같은 식을 사용하면 되는데, FIXED식은 { FIXED [차원] ... : [집계식] } 형식으로 작성하면 된다. 따라서 여기서는 대분류(Type - Major Class)당 사망자수(Fatal)를 의미하게 된다. 추가적으로 IF를 활용해서 사망자 수를 통해서 필터를 사용했을 때 차원을 Major Class가 아닌 Medium Class로 하도록 사용할수도 있다. 이렇게 만들어진 차원을 행과 필터에 넣으면 ..

[Tableau] 연습 2022.02.11

[Tableau] Map

태블로를 활용한 시각화 중 유용하게 사용할 수 있는 지도(Map)에 대한 정리 태블로에서 지도를 그리는 것은 크게 어렵지 않다. 거의 대부분 태블로가 자동으로 잡아주기 때문에 원하는 형태를 손쉽게 얻을 수 있다. 작은 수정 사항들만 직접 작성해주면 된다. 위와 같은 지도를 그리기 위해 데이터에서 사용한 것은 교통사고 사망자수(Fatal), 광역시도(Address SD), 시군구(Address SGG) 데이터이다. 광역시도(Address SD)와 시군구(Address SGG) 데이터를 더블클릭하면 자동으로 지도가 작성된다. 하지만 각 행정구에 대한 설정이 '지리적 역할' 설정이 되어있지 않으면 지도에 반영되지 않으므로 지리적 역할에 체크해 주어야 한다. 광역시도는 지리적 역할에서 '주/시/도'로 체크하고,..

[Tableau] 연습 2022.02.10

[R] 지터링(jitter)

지터링(jittering)이란 자료의 점에 약간의 노이즈를 추가해서 흩어지게 표현하여 조정을 주는 방식을 의미한다. 데이터가 크거나 특정 위치에 점이 몰려있는 경우에는 점들이 중첩되기 때문에 밀도를 확인할 수 없고 정확한 자료 파악이 다소 어려울 수 있다. 따라서 지터링을 활용해서 점들이 겹치지 않고 흔들리게 표현하면 오히려 데이터 파악에 용이할 수 있다. 아래의 예를 보자. library(scales) # alpha() 함수 사용을 위한 패키지. 지터링과 무관하다. plot(universal.df$CCAvg, universal.df$Income, col = alpha(ifelse(universal.df$Securities.Account == 0, "gray", "black"), 0.4), pch = 2..

[R] 연습 2022.02.06

[책 서평] <나이스한 데이터 분석>

대부분의 사람이 이제 데이터를 활용한 의사결정의 중요성에 대해서 알고 있다고 생각한다. 요즘에는 데이터 활용이 중요하다는 것을 어디서나 들을 수 있기 때문이다. 문제는 데이터를 어떻게 활용할 수 있는지에 대해서는 많이 알고 있지 않다. 데이터 분석은 단순히 프로그래밍을 잘하는 것보다 데이터에 숨은 다양한 정보들을 발견하고 이를 분석 목적에 맞게 적절히 해석하는 것이 더 중요하다고 생각한다. 그러나 생각보다 데이터 분석을 공부하다 보면 프로그래밍을 중심으로 생각하게 되고, 뽑아낸 데이터를 어떻게 활용하고, 비즈니스 문제 해결에 도움이 될 수 있을지에 대한 고민은 덜 하게 되는 것 같다. 이번에 이콘 출판사에서 출판한 책을 제공받아서 서평을 작성하게 되었다. 이 책은 이미 시중에 많은 데이터 분석 방법보다도..

리뷰 2022.02.03

[SQL] SQL 기본(3편)

모든 쿼리는 mysql에서 작성 서브 쿼리 1. 서브 쿼리 기본 # 전체 나라수, 전체 도시수, 전체 언어수를 1개의 row로 출력 use world; select (select count(*) from country) as total_country, (select count(*) from city) as total_city, (select count(distinct language) from countrylanguage) as total_language from dual ; DUAL 테이블을 이용하여 SELECT절에서 다양한 연산 처리를 할 수 있다. # 국토 면적이 가장 넓은 나라를 출력 # 서브 쿼리를 이용해서 한 개의 sql문으로 출력할 수 있다 select code, name, surfacear..

[SQL] 연습 2022.02.01

[SQL] SQL 기본(2편)

모든 SQL 쿼리는 mysql 기반 INSERT문 1. 데이터베이스 생성, 테이블 생성, insert로 데이터 삽입 create database test; use test; create table number1( data tinyint ); desc number1; insert into number1 value (128); select * from number1 ; 2. 제약조건이 없는 테이블 생성 후 데이터 삽입 # 테이블 생성 create table user1( user_id int, name varchar(20), email varchar(30), age int, rdate date ); # user1 테이블 확인 desc user1; # user1 테이블에 데이터 삽입 insert into use..

[SQL] 연습 2022.01.30

[SQL] SQL 기본(1편)

SELECT문 1. country 테이블에서 전체 칼럼의 데이터 가져오기 select * from country ; 2. country table에서 code, name, population 가져오기 select code, name, population from country ; 3. select절에서 연산한 결과 출력 surfacearea를 2로 나눈 결과를 new_area 칼럼으로 처리 select code, surfacearea / 2 as new_area from country ; ORDER BY로 정렬하기 1. 오름차순: population을 오름차순(asc)으로 정렬 (asc는 디폴트라서 안써로 자동으로 오름차순으로 정렬됨) select code, name, population from cou..

[SQL] 연습 2022.01.29