Study/Denodo

Denodo ์‹ค์Šต - 2. Derived View ์ƒ์„ฑ

๋ณ˜์ฐŒ 2026. 9. 25. 16:39

๐Ÿ’ก [Denodo ์‹ค์Šต 2] Derived View ์ƒ์„ฑํ•ด๋ณด๊ธฐ

  • ์ง€๋‚œ๋ฒˆ์—๋Š” customers.csv๋ฅผ Denodo์— ์—ฐ๊ฒฐํ•˜๊ณ  bv_customers Base View๋ฅผ ์ƒ์„ฑํ•ด๋ณด์•˜๋‹ค.
  • ์ด๋ฒˆ์—๋Š” ์ฃผ๋ฌธ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•œ ๋’ค ๊ณ ๊ฐ ๋ฐ์ดํ„ฐ์™€ JOIN ํ•˜๊ณ , ๊ธˆ์•ก ์กฐ๊ฑด ํ•„ํ„ฐ๋ง๊ณผ ๊ณ ๊ฐ๋ณ„ ์ฃผ๋ฌธ ์ง‘๊ณ„๊นŒ์ง€ ์—ฐ์Šตํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค.

1๏ธโƒฃ ์ฃผ๋ฌธ ๋ฐ์ดํ„ฐ Base View ์ƒ์„ฑํ•˜๊ธฐ

  • ๊ณ ๊ฐ๋ณ„ ์ฃผ๋ฌธ ์ •๋ณด๋ฅผ ์ €์žฅํ•  orders.csv ํŒŒ์ผ์„ ์ƒ์„ฑํ•œ๋‹ค.
  1. ๋ฉ”๋ชจ์žฅ์„ ์—ด์–ด์„œ ์•„๋ž˜ ๋‚ด์šฉ์„ ์ž…๋ ฅํ•˜๊ณ , denodo-practice ํด๋”์— csv ํŒŒ์ผ๋กœ ์ €์žฅํ•œ๋‹ค.
    order_id,customer_id,order_date,product_name,amount
    101,1,2026-09-01,Laptop_Stand,35000
    102,1,2026-09-03,Keyboard,89000
    103,2,2026-09-02,Mouse,42000
    104,2,2026-09-05,Monitor,240000
    105,3,2026-09-04,USB_Hub,28000
  2. Virtual DataPort Administration Tool์—์„œ File → New  →  Data source  → Delimited File ํด๋ฆญ

  3. ์•„๋ž˜์™€ ๊ฐ™์ด ๋ฐ์ดํ„ฐ ์†Œ์Šค ์ •๋ณด ์„ค์ • ํ›„ ์ €์žฅ
  4. Create base view ํด๋ฆญํ•˜์—ฌ Base View ์ƒ์„ฑ ํ›„, ์•„๋ž˜์™€ ๊ฐ™์ด ํ•„๋“œ์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…๊ณผ PK ๋“ฑ์„ ์„ค์ •ํ•œ๋‹ค. 
  5. bv_orders Base View ์ƒ์„ฑ ์™„๋ฃŒ!

2๏ธโƒฃ ๋‘ Base View ๋ฅผ ์กฐ์ธํ•˜์—ฌ Derived View ์ƒ์„ฑํ•˜๊ธฐ

  • ๊ณ ๊ฐ ์ •๋ณด์™€ ์ฃผ๋ฌธ ์ •๋ณด๋ฅผ ํ•˜๋‚˜์˜ ๊ฒฐ๊ณผ๋กœ ์กฐํšŒํ•˜๊ธฐ ์œ„ํ•ด bv_customers์™€ bv_orders๋ฅผ ์กฐ์ธํ•ด๋ณด์ž.
    1. ์ƒ๋‹จ ๋ฉ”๋‰ด์—์„œ File → New → Join ์„ ํƒ

    2.  ์กฐ์ธ ํ™”๋ฉด์—์„œ ๋‘ Base View(bv_customers, bv_orders)๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ , ๋‘ View์˜ customer_id ํ•„๋“œ๋ฅผ ์—ฐ๊ฒฐ  
    3.  Join Conditions ํƒญ์—์„œ ์กฐ์ธ ์กฐ๊ฑด  ํ™•์ธ
      ( bv_orders.customer_id = bv_customers.customer_id, Inner Join)

    4. ์ค‘๋ณต customer_id ํ•„๋“œ ์ œ๊ฑฐ
      • Output ํƒญ์œผ๋กœ ๊ฐ€๋ณด๋ฉด, ๋‘ Base View์— ๋ชจ๋‘ customer_id๊ฐ€ ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•„๋“œ ์ด๋ฆ„ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
      • ๋”ฐ๋ผ์„œ  bv_orders.customer_id์˜ ์ฒดํฌ ๋ฐ•์Šค๋ฅผ ์„ ํƒํ•˜๊ณ , ํ•˜๋‹จ์˜ Remove selected๋ฅผ ํด๋ฆญํ•˜์—ฌ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•œ๋‹ค.
      • View ์ด๋ฆ„์€ dv_customer_orders๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ ์ €์žฅํ•œ๋‹ค.
    5. dv_customer_orders Derived View ์ƒ์„ฑ ์™„๋ฃŒ!

 ๐Ÿ” ํ˜„์žฌ View ๊ตฌ์กฐ

customers.csv → bv_customers โ”
                              โ”œ→ dv_customer_orders
orders.csv    → bv_orders โ”€โ”€โ”€โ”˜

 

3๏ธโƒฃ  ๊ธˆ์•ก์ด 5๋งŒ ์› ์ด์ƒ์ธ ์ฃผ๋ฌธ๋งŒ ํ•„ํ„ฐ๋งํ•˜์—ฌ ์ƒˆ๋กœ์šด Derived View ์ƒ์„ฑํ•ด๋ณด๊ธฐ

  • dv_customer_orders๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ฃผ๋ฌธ ๊ธˆ์•ก์ด 5๋งŒ ์› ์ด์ƒ์ธ ๋ฐ์ดํ„ฐ๋งŒ ์กฐํšŒํ•ด๋ณด๊ธฐ.
  1. dv_customer_orders ์šฐํด๋ฆญ ํ›„, New → Selection ํด๋ฆญ
  2. Where Conditions ํƒญ์—์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ์กฐ๊ฑด ์ถ”๊ฐ€ (amount >= 50000)

  3. Output ํƒญ์—์„œ View name์„ dv_high_value_orders ์ง€์ •ํ•˜๊ณ  ์ €์žฅ
  4. dv_high_value_orders ์ƒ์„ฑ ์™„๋ฃŒ!

4๏ธโƒฃ ๊ณ ๊ฐ๋ณ„ ์ฃผ๋ฌธ ๊ฑด์ˆ˜์™€ ์ด๊ธˆ์•ก ์ง‘๊ณ„ํ•ด๋ณด๊ธฐ

  1. dv_customer_orders ์šฐํด๋ฆญ → New → Selection ํด๋ฆญ
  2. Group By ํƒญ์—์„œ Use group by ์ฒดํฌ ๋ฐ•์Šค๋ฅผ ์„ ํƒํ•œ ๋’ค, customer_id, customer_name, grade ํ•„๋“œ๋ฅผ ๊ทธ๋ฃน ๊ธฐ์ค€์œผ๋กœ ์ถ”๊ฐ€
    (๊ฐ™์€ ๊ณ ๊ฐ์˜ ์—ฌ๋Ÿฌ ์ฃผ๋ฌธ์„ ํ•˜๋‚˜์˜ ๊ทธ๋ฃน์œผ๋กœ ๋ฌถ๊ธฐ ์œ„ํ•œ ์„ค์ •)
  3. Output ํƒญ์—์„œ New Field(๋˜๋Š” New aggr. field)๋ฅผ ์ด์šฉํ•˜์—ฌ ์•„๋ž˜์™€ ๊ฐ™์ด ์ง‘๊ณ„ ํ•„๋“œ๋ฅผ ์ถ”๊ฐ€
  4. View name์„ dv_customer_summary๋กœ ๋ณ€๊ฒฝ

  5. dv_customer_summary ์ƒ์„ฑ ์™„๋ฃŒ!

๐Ÿ’ก ์‹ค์Šต ๊ฒฐ๊ณผ ์ •๋ฆฌ

  • ์ด๋ฒˆ ์‹ค์Šต์—์„œ๋Š” ์ฃผ๋ฌธ ๋ฐ์ดํ„ฐ์ธ orders.csv๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ , ๊ธฐ์กด ๊ณ ๊ฐ ๋ฐ์ดํ„ฐ์™€ ์—ฐ๊ฒฐํ•˜์—ฌ ๋‹ค์Œ View๋ฅผ ์ƒ์„ฑํ–ˆ๋‹ค.
    1. orders.csv๋ฅผ ์—ฐ๊ฒฐํ•œ ๋ฐ์ดํ„ฐ ์†Œ์Šค orders_csv ์ƒ์„ฑ
    2. ์ฃผ๋ฌธ ์›๋ณธ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๋Š” Base View bv_orders ์ƒ์„ฑ
    3. bv_customers์™€ bv_orders๋ฅผ customer_id๋กœ ์กฐ์ธํ•œ dv_customer_orders ์ƒ์„ฑ
    4. ์ฃผ๋ฌธ ๊ธˆ์•ก์ด 5๋งŒ ์› ์ด์ƒ์ธ ๋ฐ์ดํ„ฐ๋งŒ ์กฐํšŒํ•˜๋Š” dv_high_value_orders ์ƒ์„ฑ
    5. ๊ณ ๊ฐ๋ณ„ ์ฃผ๋ฌธ ๊ฑด์ˆ˜์™€ ์ด ์ฃผ๋ฌธ ๊ธˆ์•ก์„ ์ง‘๊ณ„ํ•œ dv_customer_summary ์ƒ์„ฑ
  • ์ƒ์„ฑ๋œ ๊ฐ View์˜ ๊ด€๊ณ„๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.
    customers.csv → bv_customers โ”
                                 โ”œ→ dv_customer_orders
    orders.csv    → bv_orders โ”€โ”€โ”€โ”˜         โ”œ→ dv_high_value_orders
                                           โ””→ dv_customer_summary
  • ๋‹ค์Œ ์‹ค์Šต์—์„œ๋Š” VQL๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ง์ ‘ ์กฐํšŒํ•˜๊ณ , ์™ธ๋ถ€ ์ œ๊ณต์šฉ Interface View๋ฅผ ์ƒ์„ฑ ๋“ฑ์„ ์ง„ํ–‰ํ•  ์˜ˆ์ •์ด๋‹ค.