IN086 – Temu Pengetahuan 3. Model Data Multidimensi
Dimensi dan Hirarki Sebuah cell di dalam kubus menyimpan nilai (pengukuran) relatif terhadap kombinasi dari label dimensinya Penjualan DVDs di NY bulan Agt
NY
produk
DVD
DIMENSI PRODUK LOKASI kategori regional
WAKTU year
produk
kuartal
negara
bulan
Agt
provinsi bulan minggu kota
hari
toko
1
Model Multidimensi Store
Total Sales
Product 1
Store
1 $454
2
3
4
-
-
$925
-
-
2 $468 $800 3 $296
-
$240
4 $652
-
$540 $745
800
Product
3
Multidimensional data •
Dimensional modeling adalah teknik untuk menstrukturkan data menurut konsep bisnis.
•
Dimensional model meliputi : • measures, contoh: sales-in-items, sales-in-pound, dll. • dimensions, contoh: time, space, products
•
Dimension dapat distrukturkan (menyediakan view-view yang kurang/lebih detil) untuk rangkuman/data analisis
•
Dapat dibandingkan dengan : • ER model : “entities” and “relationships” • UML schema : “classes”
4
2
Dimension, Measure, Cube •
Measure(s) – Data numerik •
•
Dimension(s) – parameter bisnis yang menentukan transaksi. •
•
Misalnya jumlah produk permen yang dijual di toko X pada tanggal 2 Maret 2006
Misalnya : product, time, location
Dimension(s) dan measure(s) menentukan kubus /“cube” • •
Analis ingin melihat data penjualan (measure) berdasarkan geography, time, dan product (dimensions) Tampilkan penjualan dari tahun 2006 sd 2009 di Bandung dan Jakarta untuk produk P1,P2,P3 5
Pemodelan Multidimensi •
Tiap dimension menggambarkan sebuah “business entity”
•
Dimension melibatkan atribut-atribut yang menjelaskan data numerik/measure
•
Tiap dimension harus mempunyai single base level, yaitu level dengan granularitas terbaik “day” dapat menjadi base level untuk “time” dimension • “products” dapat menjadi base level untuk “product” dimension • “store” dapat menjadi base level untuk “location dimension” •
6
3
Pemodelan Multidimensi •
Elemen base level tadi nanti dapat di agregasi/dirangkum ke level yang lain. “days” weeks, months, quarter, year, .... “products” brand, food/non-food, supplier, .... • “store” city, region, country, urban/rural, .... • •
•
Elemen dimension adalah sesuatu yang masuk akal, tidak bergantung pada dimension lain
•
Tiap level terdiri dari sekumpulan atribut Dalam “month” level, kita mengelompokkan seluruh “days” sehingga sesuai dengan atribut month dan year • Dalam “supplier” level, kita mengelompokkan seluruh “products” sehingga sesuai dengan atribut supplier
•
7
Dimensi Hirarki - Sederhana
8
4
Hirarki Dimensi - Sederhana
9
Hirarki Dimensi - Multipel
10
5
Model Multidimensional •
Dimension mempunyai atribut • •
•
Dimensi distrukturkan/diorganisasikan dalam hirarki • •
•
Dimensi waktu: hari, bulan, tahun Dimensi Produk: ProductID, LineID, BrandID
Dimensi waktu: hari minggu kuartal Dimensi produk: produk lini produk merek
Atribut menentukan tingkat / level dari suatu elemen dimension 11
Kubus / Cube •
Disebut juga Data Multidimensional
•
Untuk memvisualiasasikan data dengan 1-3 dimensi.
•
Untuk dimensi lebih tinggi, digunakan hypercube.
12
6
Contoh Kubus 2 dimensi
13
Contoh Kubus 3 dimensi
14
7
Operator OLAP •
Roll-up : melihat tampilan / view yang lebih terangkum
•
Drill-down : melihat tampilan yang lebih detil
•
Slice and dice : melihat subview / subcube / bagian tertentu saja dari data
•
Pivoting : merotasikan baris/kolom/dimensi untuk melihat keadaan tertentu
•
Ranking : analisis top-N 15
Contoh : Toko Grosir
16
8
Roll-Up •
Agregasi data ke level yang lebih tinggi • •
Climbing up hierarchy Dimension reduction
•
Contoh : roll-up sales (berdasar store,day, product) ke average-sales (berdasar region, month, brand)
•
Untuk tiap dimensi: up ke level mana ?
•
Untuk tiap measure : fungsi agregasi mana yang akan digunakan ? (Sum, average, min, max, count ?)
17
Drill-down •
Melihat data ke level yang lebih rendah / lebih tersebar (reverse roll-up)
•
Contoh : drill down sales (berdasar region, month, brand) ke sales (berdasar store, month, product)
•
Untuk tiap dimensi: down ke level mana ?
•
Untuk measure : drill down seringkali dapat dipakai sebagai ‘undo’ agregasi 18
9
Roll-Up & Drill-Down
19
Operator Kubus
20
10
Operator Kubus untuk Extended Cube
21
22
11
Slice and dice •
Hanya melihat bagian tertentu dari data saja (proyeksi dan seleksi)
•
Contoh : •
•
Untuk dimensi: •
•
slice sales (berdasar region, month, brand) ke sales (berdasar month, brand) untuk region NW saja. tentukan bagian mana yang akan tetap ada
Untuk measure : •
tidak ada agregasi
23
Slicing
24
12
Pivot, ranking, kombinasi •
Pivot : •
•
Ranking : •
•
Merotasikan data, dapat dikombinasikan dengan slicing Melakukan analisis top-N
Kombinasi : •
mengkombinasikan beberapa kubus sehingga dapat dibandingkan
25
Slicing & Pivoting
26
13
i
r nt ou (c USA on Canada
(c
Toronto 395 Vancouver
time (quarters)
lo
n io
Q1
i at oc
time (quarters)
it
t ca
605
l
Q2 computer home entertainment item (types)
2000
1000
Q2 Q3 Q4 computer security home phone entertainment
dice for (location = “Toronto” or “Vancouver”) and (time = “Q1” or “Q2”) and (item = “home entertainment” or “computer”)
item (types) roll-up on location (from cities to countries)
)
it (c
Q1
s ie
Chicago 440 New York 1560 Toronto 395 ca lo Vancouver
time (quarters)
on ti
Fig. 3.10 Typical OLAP Operations location (cities)
slice for time = “Q1”
Q1
605
825
14
400
Q2 Q3 Q4 computer security phone home entertainment
drill-down on time (from quarters to months)
item (types) Chicago New York Toronto
) es
Vancouver 605
825
14
ti
400
i (c
Chicago New York Toronto ca lo Vancouver January
on ti
computer security home phone entertainment item (types)
February
item (types)
home entertainment
605
computer
825 14
phone
400
security
time (months)
March pivot
150 100 150
April May June July August September October November December computer security
New York Vancouver Chicago
Toronto
phone home entertainment item (types)
location (cities)
27
Model Konseptual Data Warehouses •
Modeling data warehouses: •
Skema Star: Sebuah tabel fakta di tengah yang terhubung dengan satu set tabel – tabel dimensi
•
Skema Snowflake: Penyempurnaan dari skema star dimana hirarki dimensi dinormalisasi ke dalam tabel – tabel dimensi yang lebih kecil, membentuk mirip butiran salju (snowflake)
•
Fact constellations: Tabel fakta yang banyak berbagi tabel – tabel dimensi, dipandang sebagai koleksi dari star, maka disebut skema galaksi atau konstelasi fakta
28
14
Star
29
Contoh Skema Star dgn 3 dimension & 3 measure
30
15
Contoh lain untuk star
31
Contoh star yang berisi data
32
16
Keuntungan Star
Kelemahan Star
•
Mudah dipahami
•
Kinerja kurang baik
•
Hirarki mudah dilihat : 1 dimension dalam 1 table, hirarki ada secara implisit di tabel
•
Dimension bisa menjadi sangat banyak
•
Mengurangi jumlah physical join (dibanding snowflake)
•
Low maintenance
•
Meta data-nya simple
33
Fact Constellation
34
17
Contoh fact constellation
35
Keuntungan
Kekurangan
•
Tidak perlu lagi penanda level.
•
Performance bisa lebih lambat
•
1 table per dimension / per agregated fact / per kombinasi level
•
Front end harus bisa mendeteksi adanya agregated fact sehingga meta data harus lebih banyak
•
Untuk menjawab single query mungkin butuh multiple SQL statement
36
18
Snowflake •
Star, alternatifnya fact constellation.
•
Jika kardinalitas tinggi (atribut & tuple banyak), sub select dimension bisa relatif lambat.
•
Alternatif lainnya : snowflake
•
1 table per dimension level
37
Snowflake
38
19
Contoh snowflake
39
Snowflake : dimension •
Untuk tiap level dari dimension, dibuat 1 tabel.
•
Tiap tabel berisi atributnya ditambah ‘parent key’nya
•
Misal : dimension time (day,month,week,quarter,year) dipecah menjadi
•
time1(day,week,month),
•
time2a(week,year),
•
time2b(month,quarter),
•
time3(quarter,year) 40
20
Query di snowflake •
Pahami dimension dan level-level di dalamnya
•
Select mulai dari fact table
•
Pembuatan snowflake : mulai dari star, baru di-snowflake-kan dengan query-query
41
DATA MART •
DW mengumpulkan informasi tentang subyek – subyek untuk keseluruhan organisasi, seperti konsumen, sales, aset dan personil, ruang lingkupnya di seluruh enterprise. Untuk DW, skema fact constelation paling sreing dipergunakan karena dapat memodelkan subyek – subyek yang banyak dan terhubung satu dengan yang lalnnnya.
•
Data Mart adalah subset dari DW, berfokus pada subyek tertentu. Ruang lingkupnya adalah keseluruhan departemen. Biasanya, sebuah data mart terdiri dari sebuah area subyek tunggal (contoh marketing, operasional). Untuk Data Mart, skema star atau snowflake sering dipergunakan karena keduanya dirancang untuk memodelkan subyek tunggal.
42
21
DATA MART •
Sebuah Data Mart dapat dependen atau independen
•
Sebuah Data Mart dependen adalah sebuah subset yang diciptakan langsung dari DW Data Model konsisten Menyediakan data berkualitas • DW harus dirancang terlebih dahulu • Menjamin bahwa user melihat versi data yang sama dengan yang dilihat oleh user – user DW yang lainnya. • •
•
Sebuah Data Mart independen adalah sebuah warehouse kecil yang didesain untuk sebuah departemen, sumbernya tidak dari DW enterprise
43
LATIHAN Data Penjualan di Toko Cabang-1 Jan
Feb
Mar
Apr
Mei
Jun
Produk-1
100
40
90
40
20
50
Produk-2
70
50
30
100
30
80
Produk-3
80
30
60
50
100
60
Produk-4
50
70
70
60
50
70
Produk-5
60
80
50
40
80
30
44
22
LATIHAN Data Penjualan di Toko Cabang-2 Jan
Feb
Mar
Apr
Mei
Jun
Produk-1
50
70
80
140
100
30
Produk-2
70
50
50
50
30
80
Produk-3
90
60
20
70
80
90
Produk-4
150
70
70
60
50
70
Produk-5
60
40
40
50
60
70
45
Latihan Untuk setiap query berikut ini : •
tentukan operator OLAP apa yang harus dilakukan terhadap data di atas, sehingga dapat memberikan informasi yang diperlukan
•
tunjukkan tampilan informasi yang dihasilkan
Query yang harus dijawab : •
Tampilkan jumlah penjualan di seluruh toko cabang untuk semua produk dalam satu semester
•
Tampilkan produk yang mempunyai penjualan terbesar di toko cabang-1 untuk bulan Maret
•
Tampilkan rata-rata penjualan setiap produk di toko cabang-2 per triwulan (tiga bulan)
•
Tampilkan data penjualan di seluruh toko cabang dari bulan Februari s.d April
•
Tampilkan data penjualan di seluruh cabang untuk Produk 2
46
23