야구 경기 결과를 홈팀과 원정팀 점수 분할 처리하기
야구 경기 결과를 홈팀과 원정팀 점수 분할 처리하기
안녕하세요 강쌤입니다.
오늘은 SportsViz중에서 야구 데이터를 Visualization해보겠습니다.
데이터는 네이버나 다음 같이 포털 사이트
또는 KBO에 있는 일정/결과만 있으면 됩니다.
예를 들어서 아래와 같이
경기시간 및 결과만 있으면 됩니다.
1. 데이터 준비하기
2020-05-26 18:30 KIA 4:1 KT
2020-05-26 18:30 LG 3:0 한화
2020-05-26 18:30 SK 4:6 두산
2020-05-26 18:30 삼성 0:1 롯데
2020-05-26 18:30 히어로즈 2:7 NC
경기 시간을 기준으로 주간 경기 / 야간 경기로 구분할 필요가 없다면
날짜와 경기 결과만 있으면 되겠습니다.
데이터 정리를 위해 Tableau Desktop 또는 Tableau Prep Builder로 각각 해봤으나
둘다 다 변환 처리가 됩니다.
(Prep Builder로 하면 좀더 시각적으로 편한 것은 있으나 큰 상관은 없을 듯 합니다.)
우선 야구 스코어(경기 결과) 필드에서
왼쪽에 있는 팀이 원정팀,
오른쪽에 있는 팀이 홈팀이 됩니다.
KIA 4:1 KT
2. 원정팀 / 홈팀 만들기
(1) 원정팀 만들기
KIA와 4 사이에 있는 blank를 기준으로 데이터를 분할 할 때 방법은
크게 두 가지가 있습니다.
1) '경기' 필드에 우클릭 후 사용자 지정 분할로
구분 기호 사용 : '스페이스 바' 한 번 입력 (blank)
분할 해제 : 첫 번째, 1열을 선택합니다.
2) 또는 계산된 필드 만들기를 통해서 아래와 같은 계산식을 입력합니다.
TRIM( SPLIT( [경기], " ", 1 ) )
그리고 필드명은 '원정팀'으로 변경합니다.
(2) 홈팀 만들기
1과 KT 사이에도 blank가 있습니다. 따라서 이번에도 위에서 적용한
사용자 지정 분할로 홈팀을 만들어보겠습니다.
'경기' 필드에 우클릭 후 사용자 지정 분할에서
구분 기호 사용 : '스페이스 바' 한 번 입력 (blank)
분할 해제 : 마지막, 1열을 선택합니다.
그리고 필드명은 '홈팀'으로 변경합니다.
그러면 아래와 같이 정제된 필드로 홈팀과 원정팀을 발라낼 수 있습니다.
이번에는 원정팀의 점수(4)와 홈팀의 점수(1)을 발라내보겠습니다.
3. 원정팀 점수 / 홈팀 점수 만들기
KIA 4:1 KT
위와 같은 '경기' 필드에서 ':' 구분 기호를 기준으로 왼쪽은 원정팀, 오른쪽은 홈팀이라고 말씀드렸습니다.
따라서 이번에는 ':' 기호를 기준으로 분할 처리해보겠습니다.
'경기' 필드에 우클릭 후 사용자 지정 분할에서
구분 기호 사용 : ':' 입력
분할 해제 : 첫 번째, 1열을 선택합니다.
또는 아래와 같이 계산식을 적용해도 됩니다.
TRIM( SPLIT( [경기], ":", 1 ) )
그러면 아래와 같은 결과를 얻을 수 있습니다.
위에서 만들어진 '경기 - 분할 1' 이라는 필드를 다시 한 번 우클릭 후 사용자 지정 분할을 한 다음에
이번에는 원정팀과 원정팀이 얻은 점수 사이에 있는 'blank'를 기준으로 분할 처리하면 됩니다.
구분 기호 사용 : '스페이스 바' 한 번 입력 (blank)
분할 해제 : 마지막, 1열을 선택합니다.
그러면 아래와 같이 원정팀의 점수를 분할 처리할 수 있습니다.
필드명만 '원정팀 점수'로 변경합니다.
동일한 방식으로 '홈팀 점수' 필드를 만들어보시기 바랍니다.
그러면 아래와 같은 방식으로 '경기' 필드에서
'홈팀'과 '홈팀 점수' 그리고 '원정팀'과 '원정팀' 점수를 분할 처리할 수 있습니다.
다음 포스팅에서는 위에서 만든 홈팀과 원정팀 점수로
아래 우측 이미지처럼 전적 및 승률을 구해보겠습니다.
오늘은 여기까지입니다.
이상 강쌤이었습니다.