์บ๋ฆฐํฐ ์ฐจํธ?
- ํ๋ธ๋ก์ ๊ธฐ๋ณธ ๋ด์ฅ๋์ด ์๋ ์ฐจํธ๋ ์๋.
- ๋์ ๋ ์ง ํ๋๋ฅผ ๊ธฐ์ค์ผ๋ก, ์ฐ์, ์์ผ, ์ฃผ, ์ผ๋ก ๋๋ ์ ์ฐ๋ฆฌ๊ฐ ํํ ๋ณด๋ ๋ฌ๋ ฅ ํํ์ ๋ชจ์ต์ผ๋ก ๋ง๋ค ์ ์์.
- ๋ฌ๋ ฅ์ ๊ธฐ์ค์ผ๋ก ์ด๋ ์์ผ์ ๋ฐ๋ผ ํน์ ํ ํจํด์ด ๋ฐ๋ณต๋๋์ง ํ์ธ์ด ๊ฐ๋ฅ.
- ์์ผ์ ๋ฐ๋ผ ์ฃผ๋ง๊ณผ ํ์ผ์ ๋ฌถ์ด์ ์ดํด๋ณผ ์ ์์.
- ํ๋ธ๋ก์ ๋ ์ง ์์ฑ ์ค ์์ผ์ ์ผ์์ผ๋ถํฐ ์์ํ๋๋ฐ ์์์ผ๋ถํฐ ๋ณผ ์ ์๊ฒ ์ค์ ๊ฐ๋ฅ.
1๏ธโฃ ๋ฐ์ดํฐ ๋ถ๋ฌ์ค๊ธฐ
- DATA : 2022๋ ์บ๋ฆฐ๋.xlsx
- ๋ง์ฝ ํด์ผ ํ๋๊ฐ NULL์ด๋ผ๋ฉด ํ์ผ, ์๋๋ฉด ํด์ผ๋ก ํ ๋น.
[ ๊ณ์ฐ๋ ํ๋ ๋ง๋ค๊ธฐ ]
- ํ๋ธ๋ก์์ ๋ค์ํ ํํ์ ๋ทฐ๋ฅผ ๋ง๋ค๊ณ ๋ถ์ํ๊ณ ์ถ์ ๋ ๋ฐ์ดํฐ ์๋ณธ์ ์๋ ํ๋๋ฅผ ์ง์ ๋ง๋ฆ.
- IF ํจ์๋ IF์์ TRUE๋ฅผ ๋ฐํํ๋ ๊ฐ์๋ THEN์ผ๋ก, FALSE๋ฅผ ๋ฐํํ ๋๋ ELSE๋ฅผ ์ ์ฉ.
- IF์ ๋น์ทํ์ง๋ง ์ฌ๋ฌ ์ผ์ด์ค๋ฅผ ๊ณ ๋ คํ์ง ์๊ณ TRUE์ FALSE๋ก ๊ตฌ๋ถํ ๋๋ IIF๋ผ๋ ํจ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข ๋ ํจ์จ์ .
2๏ธโฃ 2022 CALENDAR BODY
- 3x4 ๋ฐฐ์ด๋ก ๋ํ๋ด๊ธฐ ์ํด CASE ํจ์๋ฅผ ์ฌ์ฉํด์ ๋ ์ง ํ๋์ MONTH๊ฐ ๋ฐฐ์ด ์ ์ด๋์ ํด๋นํ๋์ง ์ง์ .
- ์ด ๋ฒํธ๋ผ๋ ๊ณ์ฐ๋ ํ๋ ๋ง๋ค๊ธฐ.
CASE ํจ์
CASE <expression>
WHEN <value1>
THEN <return1>
WHEN <value2>
THEN <return2> ...
ELSE <default return>
END
: CASE ํจ์๋ expression์ ํ๊ฐํ๊ณ value1, value2 ๋ฑ์ ์ผ๋ จ์ ๊ฐ๊ณผ ๋น๊ตํ ๋ค์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํฉ๋๋ค. expression๊ณผ ์ผ์นํ๋ ๊ฐ์ด ์์ผ๋ฉด CASE๊ฐ ํด๋น ๋ฐํ ๊ฐ์ ๋ฐํํฉ๋๋ค. ์ผ์น ํญ๋ชฉ์ด ์์ผ๋ฉด ๊ธฐ๋ณธ ๋ฐํ ์์ด ์ฌ์ฉ๋ฉ๋๋ค. ๊ธฐ๋ณธ ๋ฐํ์ด ์๊ณ ์ผ์นํ๋ ๊ฐ๋ ์์ผ๋ฉด Null์ด ๋ฐํ.
- ์ด ๋ฒํธ ํ๋ > ์ด ์ ๋ฐ
- ๋ ์ง ํ๋ > ์ฐํด๋ฆญ + ํ ์ ๋ฐ > ๋ถ๊ธฐ๋ณ(๋ถ์ฐ์ํ)
- ๊ฐ๊ฐ์ ์์ผ๋ณ๋ก ์ฒซ๋ฒ์งธ ์ฃผ์ฐจ๋ถํฐ ๋ง์ง๋ง ์ฃผ์ฐจ๊น์ง ๋ง๋ค๋๋ก ์ฃผ๋ฒํธ์ ๋ํ ๊ณ์ฐ๋ ํ๋ ์ ์ฉ.
- (๋ ์ง ํ๋์ week (1-52) ๋ฅผ ๋ฐํ) - (๋ ์ง ํ๋์ month(1-12)๋ฅผ ๋ฐํํ ๊ฒ ์ค์์ week๋ฅผ ๋ฐํ)
- ex) ๋ ์ง๊ฐ 2022.2.7์ธ ๊ฒฝ์ฐ. DATEPART ๋ฐํ๊ฐ์ 2, DATETRUNC ๋ฐํ๊ฐ์ 2022.2.1, ์ด๊ฑธ ๋ค์ DATEPARTํ ๊ฐ์ 1. ๋ฐ๋ผ์ ์์ ํ๋ฉด 2-1๋ก 1์ด ๋จ. ์ฆ 2022.2.7์ 1์ฃผ์ฐจ๊ฐ ๋๋ ๊ฒ์.
DATEPART ํจ์
DATEPART(date_part, date, [start_of_week])
- date์ date_part๋ฅผ ์ ์๋ก ๋ฐํํฉ๋๋ค.
**date_part ๊ฐ**
- Tableau์ ๋ง์ ๋ ์ง ํจ์์์ ์์ ๋ฌธ์์ด ์ธ์์ธ date_part๊ฐ ์ฌ์ฉ.
'year' | 4์๋ฆฌ ์ฐ๋ |
'quarter' | 1-4 |
'month' | 1-12 ๋๋ "1์", "2์" ๋ฑ |
'dayofyear' | ์ผ๋ ์ค ๋ช์งธ ๋ . 1์ 1์ผ์ 1, 2์ 1์ผ์ 32 ๋ฑ์ผ๋ก ๊ณ์ฐ๋ฉ๋๋ค. |
'day' | 1-31 |
'weekday' | 1-7 ๋๋ "์ผ์์ผ", "์์์ผ" ๋ฑ |
'week' | 1-52 |
'hour' | 0-23 |
'minute' | 0-59 |
'second' | 0-60 |
DATETRUNC ํจ์
DATETRUNC(date_part, date, [start_of_week])
- ์ง์ ํ ๋ ์ง๋ฅผ date_part์ ์ง์ ๋ ์ ํ๋์ ๋ฐ๋ผ ์๋ผ๋ ๋๋ค. ์ด ํจ์๋ ์ ๋ ์ง๋ฅผ ๋ฐํํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์ ์์ค์์ ์์ ๊ฐ์ด๋ฐ์ ์๋ ๋ ์ง๋ฅผ ์๋ผ๋ด๋ฉด ์ด ํจ์๋ ์์ ์ฒซ์งธ ๋ ์ ๋ฐํ.
- ์ฃผ๋ฒํธ ํ ์ ๋ฐ ๋ค์ ๋ฃ๊ธฐ > ๋จธ๋ฆฌ๊ธ ์ ์ธ
- ๋ ์ง ํ๋ > ์ฐํด๋ฆญ + ํ ์ ๋ฐ > ์์ผ(๋ ์ง)(๋ถ์ฐ์ํ) ํด๋ฆญ
- ๋งํฌ > ๊ฐํธ์ฐจํธ ๋ณ๊ฒฝ
- ํ์ ๋ฐ ์ฃผ ๋ฒํธ > ์ฐ์ํ์ผ๋ก ๋ณ๊ฒฝ
- ์ถ ์ฐํด๋ฆญ > ์ถ ํธ์ง > ๋๊ธ : ๋ฐ์ > ๋ฒ์ : -2 ~ 6
- ๊ฐํธ ์ฐจํธ ์์ ์ผ์๋ฅผ ํ์ ⇒ ๋ ์ง ํ๋ > ์ฐํด๋ฆญ + ๋งํฌ ๋ ์ด๋ธ ์ฌ๋ฆฌ๊ธฐ > ๋ง์ถค ํธ์ง
- ํ์ผ์ธ์ง ํด์ผ์ธ์ง ์์ ๊ตฌ๋ถ ⇒ ํ์ผ OR ์ฃผ๋ง์ ๊ณ์ฐ๋ ํ๋ ์์ ๋งํฌ์ ์ฌ๋ฆฌ๊ธฐ
- ๊ฐ๊ฐ์ ์น์ ๋ณ๋ก ๋ช ์์ธ์ง ํ์ํ๊ธฐ ์ํ ๊ณ์ฐ๋ ํ๋ ์์ฑ
- ๋ง์ฝ ๋ ์ง์ weekday๊ฐ 4๋ฒ = ์์์ผ์ธ ๊ฒฝ์ฐ, ์ง๊ธ ๋ฒ์๊ฐ -2 ~ 6์ธ๋ฐ -1.5 ์์น ์ ๋์ ์์ ํ์ํ๊ฒ ๋ค!!
- ์ํ์ ํ๋ ์ฐํด๋ฆญ > ๊ธฐ๋ณธ์์ฑ > ์ง๊ณ > ํ๊ท
- ์ํ์ง > ํ์ ๋ฐ > ์ฐํด๋ฆญ > ์ด์ค์ถ ์ค์ !! > ์ถ ์ ํ > ์ถ ๋๊ธฐํ
- ํ๊ท (์ ํ์) ๋งํฌ > ํ ์คํธ ๋ณ๊ฒฝ
- ๋ ์ง ์ฐํด๋ฆญ > ํ ์คํธ ๋งํฌ ์ฌ๋ฆฌ๊ธฐ > ์(๋ ์ง)(๋ถ์ฐ์ํ) ์ ํ
- ์๋จ์ ์์ผ ํ์ ⇒ ๋ถ์ > ํ ์ด๋ธ ๋ ์ด์์ > ๊ณ ๊ธ > ์ธ๋ก ์ถ์ด ์์ ๋ ๋ณด๊ธฐ ํ๋จ์ ๊ฐ์ฅ ์์ชฝ ์์ค ํ์ ์ฒดํฌ ํด์
- NULL ๊ฐ์ ํ์๊ธฐ๋ฅผ ์จ๊ธฐ๊ธฐ.