๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
DB - Power BI

[POWER BI ] 10. DAX ํ•จ์ˆ˜ ( DIVIVDE, CALCULATE ,DATEIFF)

by ๊พธ๋ฆฌ_No9 2024. 11. 19.

 

 

1. ์ œํ’ˆ ๋‹จ์ข… / ์ฃผ๋ฌธ ์ค‘๋ณต ์—ฌ๋ถ€ ํ™•์ธ

 

DAX - COUNT : 

  • ์ „์ฒด ์ œํ’ˆ์˜ ๊ฐœ์ˆ˜: #Product = COUNT(Products [ProductKey])
  • ๋‹จ์ข…๋œ / ๋นˆ์นธ์˜ ๊ฐœ์ˆ˜: #Product_๋‹จ์ข… = COUNTBLANK(Products [Status])
  • ์‹ค์ œ ํŒ๋งค๋œ ์ œํ’ˆ ๊ฐœ์ˆ˜ : #Product_sold = DISTINCTCOUNT(Sales [ProductKey])
  • ์ด ์ฃผ๋ฌธ ์ˆ˜ : #Order = COUNT (Sales [SalesOrderNumber])
  • ์ด ์ฃผ๋ฌธ ์ˆ˜ (์ค‘๋ณต ์ œ์™ธ) : #Order_์ค‘๋ณต์ œ์™ธ = DISTINCTCOUNT(Sales [SalesOrderNumber])

 

 


 

2. ๊ณ ๊ฐ /์ง€์—ญ ๋ณ„ ๊ฑฐ๋ž˜์ผ ๋น„๊ต 

Q. ๊ณ ๊ฐ๋ณ„๋กœ ๋งˆ์ง€๋ง‰์œผ๋กœ ์šฐ๋ฆฌ ๋ฌผ๊ฑด์„ ์‚ฐ ์‹œ์ ์€ ์–ธ์ œ์ธ๊ฐ€?

 

 

 

DAX - MIN / MAX : 

  • ์ตœ์ดˆ๊ฑฐ๋ž˜์ผ = MIN(Sales [OrderDate])
  • ์ตœ์ข…๊ฑฐ๋ž˜์ผ = MAX(Sales [OrderDate])

3. ์ด์ต๋ฅ  / ๋ถˆ๋Ÿ‰๋ฅ  (%) 

Q. (์นดํ…Œ๊ณ ๋ฆฌ๋ณ„) ์ด์ต๋ฅ ์„ ์–ผ๋งˆ์ธ๊ฐ€? 

 

DAX - ์ผ๋ฐ˜ ๋‚˜๋ˆ„๊ธฐ / DIVIDE : 

  • ์ด ์ด์ต๋ฅ % = ([์ด ๊ฒฌ์ ]-[์ด ์›๊ฐ€]) / [์ด ๊ฒฌ์ ]
  • ์ด ์ด์ต์œจ % = DIVIDE( [์ˆœ ์ˆ˜์ต], [์ด ๊ฒฌ์  ], "NA")

* ๋‚˜๋ˆ„๊ธฐ 0์„ ํ•  ๋•Œ, DIVIDE ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด "NA" ํ‘œ๊ธฐ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 


4. ์กฐ๊ฑด๋ถ€  ๋ฐ์ดํ„ฐ ์ถ”์ถœ (SQL์˜ where์ ˆ๊ณผ ์œ ์‚ฌ)  

Q.  ___ ์กฐ๊ฑด์˜ ๋งค์ถœ์•ก์„ ์ถ”์ถœํ•˜๊ณ  ์‹ถ๋‹ค

1) ์ƒํ’ˆ ์ค‘ ๋ชจ์ž ๋งค์ถœ์•ก๋งŒ ๋ฝ‘๊ณ  ์‹ถ๋‹ค.

2) ํŒŒ๋ž€์ƒ‰ ์ž์ „๊ฑฐ ๋งค์ถœ์•ก๋งŒ ๋ฝ‘๊ณ  ์‹ถ๋‹ค. 1๊ฐœ ํ…Œ์ด๋ธ”, 2๊ฐ€์ง€ ์กฐ๊ฑด

3) ์บ๋‚˜๋‹ค์—์„œ ํŒ”๋ฆฐ ์–‘๋ง์˜ ๋งค์ถœ์•ก์„ ๋ฝ‘๊ณ  ์‹ถ๋‹ค. ← 2๊ฐœ์˜ ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์ผ ๊ฒฝ์šฐ , ์œผ๋กœ ๋ถ„๋ฆฌ

4) Price ๊ฐ€ 3000๋‹ฌ๋Ÿฌ ์ด์ƒ์ธ ์ œํ’ˆ์˜ ๋งค์ถœ์•ก์„ ๋ฝ‘๊ณ  ์‹ถ๋‹ค. 

 

DAX - CALCULATE : 

  • Cap sales = CALCULATE( [์ด ๋งค์ถœ]  , Products [SubCategory] = "Caps")
  • Blue Bike Sales = CALCULATE( [์ด๋งค์ถœ] , Products [Color] = "Blue" && Products [Category] = "Bikes")
  • Canada Socks = CALCULATE( [์ด๋งค์ถœ] , Customers [Region] = "Canada", Products [SubCategory] = "Socks")
  • Over 3000 = CALCULATE([์ด๋งค์ถœ], Sales [UnitPrice] >= 3000

** AND ๋Š” && , OR์€ || ๋กœ ํ‘œ๊ธฐ

 


 

5. ๊ณ ๊ฐ ์œ ์ง€์œจ( Retention) 

Q. (๊ณ ๊ฐ๋ณ„๋กœ) ์œ ์ง€๊ธฐ๊ฐ„ (retention)์€ ์–ผ๋งˆ๋‚˜ ๋˜๋Š”๊ฐ€?

 

DAX - DATEIFF  :

  • ๊ธฐ๊ฐ„ = DATEDIFF( [์ตœ์ดˆ๊ฑฐ๋ž˜์ผ], [์ตœ์ข…๊ฑฐ๋ž˜์ผ], DAY)
  • ๊ธฐ๊ฐ„ 2 = DATEDIFF([์ตœ์ข…๊ฑฐ๋ž˜์ผ], TODAY(), MONTHMONTH )

 


 

6. ๊ตฌ๋งค ๋นˆ๋„ (  Frequency )

Q. ๊ณ ๊ฐ๋“ค์€ ํ‰๊ท  ์–ผ๋งˆ ๋งŒ์— ํ•œ ๋ฒˆ์”ฉ ์šฐ๋ฆฌ ๋ฌผ๊ฑด์„ ๊ตฌ๋งคํ•˜๋‚˜?

 

DAX - Frenquency :

  • ๊ตฌ๋งค ๋นˆ๋„ = [๊ธฐ๊ฐ„] / [#Order_์ค‘๋ณต์ œ์™ธ]