[STARTERS 4๊ธฐ TIL] #37์ผ์ฐจ(23.03.29)


๐Ÿ“š ์˜ค๋Š˜์˜  ํ•™์Šต

์‹ฌํ™” ๊ทธ๋ž˜ํ”„ ๋งŒ๋“ค๊ธฐ
์บ˜๋ฆฐ๋” ์‹œ๊ฐํ™”

๋‹ฌ๋ ฅ(Calendar)์€ ํ”ํžˆ ์Šค์ผ€์ฅด์„ ํ‘œ์‹œํ•  ๋•Œ๋„ ์žˆ์ง€๋งŒ ์ผ๋ณ„ ๋ฐ์ดํ„ฐ๋ฅผ ๋น„๊ตํ•˜๊ธฐ ์œ„ํ•œ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

ํŠนํžˆ, ์šฐ๋ฆฌ๋‚˜๋ผ์™€ ๊ฐ™์ด ๊ณ„์ ˆ์„ฑ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— 1๋…„ 52์ฃผ์ฐจ์˜ ๋ณ€ํ™”๊ฐ€ ๋ˆˆ์— ๋ˆ๋‹ค๊ฑฐ๋‚˜ ๊ณ„์ ˆ์„ฑ์˜ ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๋”๋ผ๋„

์ฃผ์ฐจ๋ณ„๋กœ ๋ฐ์ดํ„ฐ์˜ ๋ณ€ํ™”๋ฅผ ์†์‰ฝ๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์š”์ผ๋ณ„๋กœ ํ•จ๊ป˜ ๊ต์ฐจ๋ถ„์„์œผ๋กœ ํ™œ์šฉํ•˜๊ธฐ ์ ์ ˆํ•œ ์‹œ๊ฐํ™” ๊ธฐ๋ฒ•์ด๋‹ค.

๋‹ค๋งŒ, Tableau์—์„œ ๋‹ฌ๋ ฅ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ชจ๋“  ํ•ด๋‹นํ•˜๋Š” ๋‚ ์˜ ๋‚ ์งœ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฐ˜๋“œ์‹œ ์žˆ์–ด์•ผ ํ•œ๋‹ค.

โ‘  ํ‰์ผ / ์ฃผ๋ง์„ ๋‚˜๋ˆ„๋Š” ํ•„๋“œ ๋งŒ๋“ค๊ธฐ - [weekend ํ•จ์ˆ˜]

  ์บ˜๋ฆฐ๋” ์ƒ์— ํ‰์ผ๊ณผ ์ฃผ๋ง์„ ๊ฐ๊ฐ ๋‹ค๋ฅธ ์ƒ‰์œผ๋กœ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ํ•„๋“œ๋ฅผ ๋‘๊ฐ€์ง€ ๊ฒฝ์šฐ๋กœ ๋‚˜๋ˆ ์ฃผ์—ˆ๋‹ค.

  ์ƒ‰์ƒ์€ ํ•ด๋‹น ํ•„๋“œ๋ฅผ ์ƒ‰์ƒ ๋งˆํฌ์— ๋“œ๋ž˜๊ทธํ•˜์—ฌ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

IF DATEPART('weekday', [Order Date]) = 1
OR 
DATEPART('weekday', [Order Date]) = 7
THEN "weekend"
ELSE "weekday"
END

โ‘ก ์บ˜๋ฆฐ๋” ํ‘œํ˜„ํ•˜๊ธฐ

   โ“ ์บ˜๋ฆฐ๋”์˜ ์—ด๊ณผ ํ–‰์— ํ•ด๋‹นํ•˜๋Š” '์š”์ผ', '์ฃผ ๋ฒˆํ˜ธ' ์„ค์ • & ๊ฐ ์…€์— ๋‚ ์งœ๊ฐ€ ๋“ค์–ด๊ฐ€๋„๋ก '์ผ' ํ…์ŠคํŠธ ๋งˆํฌ๋กœ ๋“œ๋ž˜๊ทธ

   โ“‘ ํ‰์ผ๊ณผ ์ฃผ๋ง ์ƒ‰์ƒ ๊ตฌ๋ถ„์„ ์œ„ํ•ด [weekend ํ•จ์ˆ˜] ์ƒ‰์ƒ ๋งˆํฌ๋กœ ๋“œ๋ž˜๊ทธ

โ‘ข ํ•œ ๋‹ฌ๋งŒ VLOD์— ํ‘œํ˜„ํ•˜๊ธฐ

  [Order Date]๋ฅผ ํ•„ํ„ฐ๋กœ ์„ค์ • ํ›„ '์—ฐ๋„/์›”' ์„ ํƒ

 

Bullet Chart

๋ถˆ๋ฆฟ ๊ทธ๋ž˜ํ”„๋Š” ์‹ค์  ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ์œ„ํ•œ ๊ทธ๋ž˜ํ”„๋กœ ๋ชฉํ‘œ ๋‹ฌ์„ฑ ๋Œ€๋น„ ์‹ค์  ๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•œ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

โ‘  ํƒ€๊ฒŸ(๋ชฉํ‘œ) ํ•„๋“œ ๋งŒ๋“ค๊ธฐ - [target ํ•จ์ˆ˜]

  ๋ถˆ๋ › ์ฐจํŠธ์—์„œ ํ‘œํ˜„๋  ๋ชฉํ‘œ ๋ผ์ธ(ex. ๋ชฉํ‘œ ์ˆ˜์ต)์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ํ•„๋“œ → ๋ชฉํ‘œ์•ก(60000)์„ ๊ณ ์ •ํ•˜์—ฌ ์„ค์ •

{ FIXED DATETRUNC('year', [Order Date]) :SUM(60000)}

โ‘ก Bullet Chart ํ‘œํ˜„ํ•˜๊ธฐ

   โ“ ์ฐจํŠธ์— ํ‘œํ˜„๋˜์–ด์•ผ ํ•˜๋Š” [Profit], [target ํ•จ์ˆ˜]๋ฅผ ์—ด ์„ ๋ฐ˜์— ์ถ”๊ฐ€

   โ“‘ ํ‘œํ˜„๋ฐฉ์‹์—์„œ '๋ถˆ๋ฆฟ ๊ทธ๋ž˜ํ”„' ์„ ํƒ

   โ“’ '์ถ• ์šฐํด๋ฆญ > ์ฐธ์กฐ์„  ํ•„๋“œ ๋ฐ”๊พธ๊ธฐ' ์„ ํƒ

       ์ฐจํŠธ ์—ด์—๋Š” ์ธก์ •๊ฐ’์ด, ์ฐจํŠธ ์„ธ๋ถ€์‚ฌํ•ญ์—๋Š” ๋ชฉํ‘œ์•ก์ด ์„ค์ •๋˜์–ด์•ผ ํ•จ

โ‘ข ๋””ํ…Œ์ผ ์™„์„ฑ

   โ“ ๊ฐ ์—ฐ๋„ ๋ณ„ ํ–‰ ํ‘œํ˜„

   โ“‘ ๊ฐ ๋ง‰๋Œ€ ๊ทธ๋ž˜ํ”„์— ์ธก์ •๊ฐ’ ๋ผ๋ฒจ ์ถ”๊ฐ€

   โ“’ target line ์ƒ‰์ƒ ๊ฐ•์กฐ

 

Waterfall Chart

ํญํฌ ์ฐจํŠธ(Waterfall Chart)๋Š” ์—ฐ์†์ ์œผ๋กœ ๋ˆ„์ ํ•ด๊ฐ€๋ฉด์„œ ์ฆ๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๊ฐ์†Œํ•˜๋Š” ๊ฒƒ์„ ํ•œ ๋ˆˆ์— ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

โ‘  ๋ˆ„๊ณ„ & ๊ฐ„ํŠธ ์ฐจํŠธ ํ‘œํ˜„

   โ“ ์ธก์ •๊ฐ’ [Sales]๋ฅผ 'ํ€ต ํ…Œ์ด๋ธ” ๊ณ„์‚ฐ > ๋ˆ„๊ณ„'๋กœ ์„ค์ •

   โ“‘ '๋งˆํฌ > ๊ฐ„ํŠธ ์ฐจํŠธ' ์„ค์ •

โ‘ก ํญํฌ ๋ชจ์–‘ ํ‘œํ˜„์„ ์œ„ํ•œ ํ•„๋“œ ๋งŒ๋“ค๊ธฐ - [waterfall]

-[Sales]

โ‘ข Bullet Chart ํ‘œํ˜„ํ•˜๊ธฐ

   โ“ [waterfall] '๋งˆํฌ > ํฌ๊ธฐ' ์„ค์ •

   โ“‘ '๋ถ„์„ > ์ด๊ณ„ > ํ–‰ ์ดํ•ฉ๊ณ„ ํ‘œ์‹œ' ์„ค์ •

   โ“’ ์ƒ‰์ƒ ์„ค์ •

 

Bar Gauge Chart

๋ง‰๋Œ€ ๊ฒŒ์ด์ง€ ์ฐจํŠธ(Gauge Chart)๋Š” ์ผ๋ฐ˜์ ์ธ ๊ฒŒ์ด์ง€ ์ฐจํŠธ์™€ ์œ ์‚ฌํ•˜๋ฉฐ,

์ž๋™์ฐจ ๋Œ€์‹œ๋ณด๋“œ์— ์žˆ๋Š” ๊ฒŒ๊ธฐํŒ ํ˜•ํƒœ๋กœ ์‹œ๊ฐํ™”ํ•˜์—ฌ ํ˜„์žฌ์˜ ์ƒํƒœ๊ฐ€ ์–ด๋–ค์ง€ ํ•œ๋ˆˆ์— ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•œ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

โ‘  ๊ฒŒ์ด์ง€ ํ•„๋“œ ๋งŒ๋“ค๊ธฐ - [๋“์ ]

ZN([Profit]/[Sales])

โ‘ก ๋ง‰๋Œ€ ๊ฒŒ์ด์ง€ ํ‘œํ˜„

   โ“ ์—ด ์„ ๋ฐ˜์— '1', [๋“์ ] ํ•„๋“œ ์˜ฌ๋ ค๋‘๊ธฐ   *[๋“์ ] ์ง‘๊ณ„ 'ํ‰๊ท ' ์„ค์ •

   โ“‘ ์ด์ค‘ ์ถ• ์„ค์ • ํ›„ ์ถ• ๋™๊ธฐํ™” 

   โ“’ ์ถ• ๋ฒ”์œ„ 0~1๋กœ ์„ค์ •

   โ““ ๋งˆํฌ > ๋ง‰๋Œ€ ์„ค์ •

โ‘ข ๋””ํ…Œ์ผ ์™„์„ฑ

   โ“ [Region] ๋ณ„ ํ–‰ ํ‘œํ˜„

   โ“‘ ๊ฐ ๋ง‰๋Œ€ ๊ทธ๋ž˜ํ”„์— ์ธก์ •๊ฐ’ ๋ผ๋ฒจ ์ถ”๊ฐ€

 

Venn diagram Chart

๋ฒค ๋‹ค์ด์–ด๊ทธ๋žจ(Venn Diagram)๋Š” ๊ฐ ์˜์—ญ์— ํฌํ•จ๋œ ์ •๋ณด์™€ ๋‘ ์˜์—ญ์— ๋ชจ๋‘ ํฌํ•จ๋˜๋Š” ์ •๋ณด๋ฅผ ํ•œ ๋ˆˆ์— ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

โ‘  ์œ„์น˜ ๋ ˆ์ด์•„์›ƒ ์ง€์ •

   โ“ ์› ์œ„์น˜ ์ง€์ • - [circle locate] 

if [Type] = 'ํ•ซ'
THEN -1
ELSE 1
END

   โ“‘ ํ…์ŠคํŠธ ์œ„์น˜ ์ง€์ • - [text locate]

if [Product] = '๋ผ๋–ผ' OR [Product] = '์•„์ด์Šค ๋ผ๋–ผ'
THEN 0
ELSEIF [Type] = 'ํ•ซ'
THEN -1
ELSE 1
END

   โ“’ ์—ด ์„ ๋ฐ˜์— ์˜ฌ๋ฆฐ ๋’ค ์ฐจ์› ์„ค์ •

   โ““ ์ด์ค‘ ์ถ• ์„ค์ • ํ›„ ์ถ• ๋™๊ธฐํ™”

โ‘ก ๋ฒค ๋‹ค์ด์–ด๊ทธ๋žจ ๋ชจ์–‘ ํ‘œํ˜„

   โ“ ๋งˆํฌ > ์› ์„ค์ •

   โ“‘ ๋งˆํฌ > [Type] ์ƒ‰์ƒ ์„ค์ •

โ‘ข ๋ผ๋ฒจ ์„ค์ •

   โ“ ๊ต์ง‘ํ•ฉ ๋ผ๋ฒจ ํ‘œํ˜„์„ ์œ„ํ•œ ํ•„๋“œ ๋งŒ๋“ค๊ธฐ - [text label]

IF [Product]= '๋ผ๋–ผ' OR [Product]='์•„์ด์Šค ๋ผ๋–ผ'
THEN '
|
|
|'
ELSEIF [Type]='ํ•ซ'
THEN 'ํ•ซ'
ELSE '์•„์ด์Šค'
END

   โ“‘ ๊ต์ง‘ํ•ฉ ๋ฐ ์ฐจ์ง‘ํ•ฉ ๋ผ๋ฒจ ์ถ”๊ฐ€ [text label], [Sales]

 


๐Ÿ’ป ์˜ค๋Š˜์˜  ๊ณผ์ œ

๊ทธ๋ฃน ํ”„๋กœ์ ํŠธ
Work Flow

โ‘  ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ

โ‘ก ์ฃผ์ œ ์„ ์ •

 - ๊ฒŒ์ž„ ์นดํ…Œ๊ณ ๋ฆฌ

 - ์žฅ๋ฅด ์ง‘ํ•ฉ

 

โ‘  ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ

โ“ [Type] ‘0’, ‘NaN’ Row ์ œ๊ฑฐ (๊ฐ๊ฐ 1๊ฐœ์”ฉ ์กด์žฌ. ๋ฌด์˜๋ฏธํ•œ ๋ฐ์ดํ„ฐ๋กœ ์ œ๊ฑฐ)
โ“‘ [Category] > [Genres] → ๊ณ„์ธต ์ฒ˜๋ฆฌ     
โ“’ [Translated Review] ‘NaN’ → ๋ฐ์ดํ„ฐ ์…‹์„ 2๊ฐœ๋กœ ์ƒ์„ฑํ•˜์—ฌ ๊ตฌ๋ถ„ Inner join(๋ฆฌ๋ทฐ๊ฐ€ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋งŒ) & left join(๋ชจ๋“  ๋ฐ์ดํ„ฐ)
โ““ [Translated Review], [app] → distinct ์ฒ˜๋ฆฌ
โ“” ๋ถˆํ•„์š” ์ปฌ๋Ÿผ ์ œ๊ฑฐ : Size, Price, Current Ver, App(Review~) (์ฒ˜๋ฆฌ ์™„๋ฃŒ)

                                 Sentiment Subjectivity (์„ค๋ช… ๋ถˆ๊ฐ€ .. ์‚ฌ์šฉ๋ง์ž ..)

                                 translated review (์„ค๋ช… ๋ถˆ๊ฐ€ .. ์‚ฌ์šฉ๋ง์ž ..)

 

 

๊ฐœ์ธ ๊ณผ์ œ
ํƒœ๋ธ”๋กœ ์ž๊ฒฉ์ฆ Test3 ํ’€๊ธฐ