데이터 스터디/BA

[Tableau] Structure the Unstructured

케이와이엠 2023. 2. 1. 14:53

2020 WOW Challenge - Week 22 : Can You Structure the Unstructured?

#WOW2021 week 22: Can You Structure the Unstructured?

Introduction 

  1. 주제 : AirBNB 데이터 탐색 → 침실 개수에 따른 시애틀 방 가격 정도 알기
  2. 목표 : 비정형 데이터(unstructured data)를 cleaning 하는 작업

Requirements

아래와 같은 작업을 할 예정

  • 현재, bedroom 개수 데이터는 없는 상황 . Let’s derive from description행 !!
  • 특정 bedroom 개수에 해당하는 숙소 위치 지도에 표시
  • 지도 클릭 시, 하이퍼링크 삽입 → 바로 사이트 소개로 연결

사용 기능

STEP 1. 용어 통일하기

  • 현재 상태 : 설명글 너무 복잡해 ㅠㅠ
  • 침실를 가리키는 용어 多 (bdrm, bedroom, BR, beds etc.)
  • ⇒ standardize 해야 함.
  •  

Step1-Normalize Bedroom Description 칼럼에 있는 용어들을 하나로 통일

REGEXP_REPLACE([Description],
'\\s+\\b(?:BR|br|BDRM|bdrm|beds|bed|bd|rooms|Room|bed |BEDS|bedromm|-bedroom)'
,' Bedroom ')

 

STEP 2. 카테고리 반환

Step2-Categorize Size : studio → Studio를 반환 , #digits+Bedroom 반환

  1. \d+ 에 빈칸 띄우기
if CONTAINS([step1 - Normalize bedroom],"studio") then "Studio"
ELSE

REGEXP_EXTRACT([step1 - Normalize bedroom], '(\\d+ ?(Bedroom))')

END

2. 룸타입은 Entire home/apt 만 고려

 

STEP 3. Bed 개수 기준으로 Create Group

그룹 생성 후 , 필터 표시. 이때 5개 이상인 애들은 5 or More Bedroom로 그룹화

 

전체 값 표시 체크 해제

표시 형태 : 목록형

 

 

정렬 형식 : studio가 bedroom보다 작은 형태니까 제일 위로

 

STEP 4. BAR 차트 그리기

  1. create parameter → Bin Size 만들기 (bin : 100개)
  2. sys_numbin !! 설명이 안뜨는 함수긴 하지만 유용하게 쓰임

Step3-price : bin100단위씩 세어주는 price

(sys_numbin([Price],[bin size])*[bin size])+[bin size]

3. Name을 distinct로 개수 세어주기, price bin을 차원으로 바꿔주기

4. 가격을 기준으로 Bar 형태로 바꾸기 → 크기 : 너비 100으로

 

 

STEP 5. 평균 값 선 만들기

avg_price LOD 만들기 : listing url에 포함된 집 중 price의 평균값

 

avg({INCLUDE [Listing Url]:AVG([Price])})

 

STEP 6. 지도 만들기

  1. 지도 만들기

 

STEP 7. 대시보드 만들기

  1. 대시보드 - HISTOGRAM 에 필터 적용하기
  2. ACTION 지정하기 : 동작추가 > url이동 > url : <listing url>컬럼 선택

 

완성화면