⭐ TWBX 2차 학습

- 웹 데이터 수집
- 유니온 결합
- 불일치 필드 병합
- 정규표현식을 활용한 데이터 추출 및 생성
- 계산된 필드 만들기
- 이중 축
- 대시보드 제작
- 대시보드 필터 동작
01. 데이터 수집
- 구글 스프레드시트
함수를 활용한 English Premier League Table 데이터 수집(2003년~2024년)
=IMPORTHTML("https://www.espn.com/soccer/standings/_/league/ENG.1/season/2024", "table", 1)
=IMPORTHTML("https://www.espn.com/soccer/standings/_/league/ENG.1/season/2024", "table", 2)
✅️ 불일치 필드 병합
- 유니온 결합 후 필드 이름이 일치하지 않아 NULL 값이 포함되어 있을 때 사용한다.
NULL 값이 제거되어 불필요한 필드를 줄일 수 있다.
✅️ 정규표현식
- REGEXP_EXTRACT: 정규식 패턴으로 해당 문자열 반환
'\d': 숫자, '\D': 숫자를 제외한 나머지
02. 인사이트
- 프리미어 리그는 20개의 팀으로 구성되고 8월부터 5월까지 한 시즌에 38번의 경기를 한다.
- EPL Table에서 Points 계산 방법은 이긴 경우 3점, 비긴 경우 1점을 부여하는 것이다. 계산된 Points 값으로 순위를 정하게 된다.
- 골에 관련된 항목(F, A, GD)은 동점인 경우 순위를 가르기 위해 필요하다.
Points 값이 같으면 GD(Goal Difference)로 순위를 정하고, Points와 GD가 같은 경우에는 골을 넣은 수로 순위를 정한다.
- 03-04 시즌부터 24-25 시즌까지 1위를 가장 많이 한 팀은 Manchester City이다.
프리미어리그의 하위 3팀은 챔피언십으로 강등된다.
계산된 필드 활용하여 1위를 노란색으로 강조하고 하위 3위(18, 19, 20위)는 보라색으로 나타냈다.
03. 느낀 점
- 시각화 전에 데이터 이해를 위한 프리미어 리그 사전 조사가 필요했다.
- 정규 표현식 사용은 익숙하지 않았지만 한 번 알아두면 편하게 사용할 것 같다.
- 불일치 필드 병합이라는 데이터 전처리 방법을 알 수 있었다.
- 순위를 모두 보여주려면 차트가 복잡해지지 않을까 싶었는데 이중 축으로 한 번에 나타낼 수 있어서 신기했다.
- 여러 시즌에 걸쳐서 1위부터 20위까지 시트에 포함된 정보가 많아 어느 부분을 강조해야 할지 고민했다.
- 표의 열 부분에 마우스를 올리면 그래프가 이상해져서 지난 수업 때 배운 내용을 적용했다. 빈 페이지 개체를 부동으로 맨 위에 배치했더니 해당 부분을 클릭하지 않게 되어 편리했다.
알게 된 점
- 차원은 이중 축으로 활용할 수 없다.
- 값이 없어서 행/열이 표시되지 않는 경우 '빈 행/열 표시'로 해결할 수 있다.

궁금한 점
- 시트 2개로 대시보드가 이미 꽉 차는 상태였고 대시보드 크기를 어느 정도로 크게 해야 할지 잘 모르겠다.
04. 한계
- 순위 테이블
- 'Points' 필드로 순위가 결정되기 때문에 해당 필드만 굵은 글씨로 하고 싶었는데 전체 머리글에만 적용이 됐다.
- 약어(GP, W, D, L, F, A, GD, P)를 모르는 사람도 표를 쉽게 이해할 수 있게 만들고 싶었다. full term을 표에 적었더니 표가 너무 커졌고, 대시보드 빈 곳에 따로 명시하면 8개의 약어가 무엇인지 각각 찾아야 하는 불편함이 있어 보였다.
도구 설명으로 GP에 마우스를 올리면 Games Played로 나타내고 싶었다. 매개변수와 계산된 필드로 되지 않을까 싶었는데 생각한 대로 되지 않았다.
- 순위 history
- 시즌이 '24-25' 형식이어서 순위를 봤을 때 어느 시즌인지 한눈에 들어오지 않아서 아쉬웠다. 레이블 회전도 해보고 분할도 했는데 원래 형식이 더 나아 보여서 수정하지 않았다.
- 도형(원)과 라인 차트가 이중 축으로 적용되었는데 라인에 마우스를 올렸을 때 도구 설명이 굳이 필요하지 않아 보였다. 라인 차트 도구 설명 표시는 해제가 되지 않았다.