Cara membuat Mondrian OLAP Cube Schema dengan Schema Workbench | Tutorial Pentaho BI Server

Schema Workbench adalah sebuah aplikasi yang fungsinya untuk mem-visualisasi antarmuka yang memungkinkan kita untuk membuat Mondrian OLAP Cube Schema 

Mondrian OLAP Cube Schema sendiri fungsinya untuk memetakan tabel dan kolom fisik dalam bentuk fact/dimension menjadi struktur logis cube/dimension/measures.  Jadi, sebelum dapat digunakan di aplikasi Pentaho BI Server, datawarehouse (DWH) yang sudah kita buat harus kita petakan terlebih dahulu.

Sebelum memulai tutorialnya, ada baiknya untuk meng-unduh aplikasi Schema Workbench di website resmi Pentaho di community.pentaho.com

Berikut langkah-langkah untuk membuatnya:

A. Menjalankan Schema Workbench
Untuk komputer dengan OS Windows dapat dengan meng-klik 2 kali workbench.bat atau kalau menggunakan OS Linux dengan menjalankan workbench.sh.

Setelah selesai maka akan muncul tampilan seperti dibawah ini:


B. Membuat Mondrian OLAP Cube Schema dengan Schema Workbench
Selanjutnya kita akan membuat Schema dari Datawarehouse yang sudah kita buat untuk tutorial-tutorial sebelumnya. 

1. Langkah pertama yang harus kita lakukan adalah men-setting connection. Pilih Options -> Connections:


2. Selanjutnya akan muncul tampilan seperti dibawah ini: Pilih database yang dipakai dan sesuaikan settingan yang dipakai. Lalu klik OK.


3. Setelah itu, kita buat Schema baru. Caranya klik File -> New -> Schema.



4. Berikut adalah contoh Schema yang sudah dibuat. Untuk membuat Cube, Dimension, Measure, dan yang lainnya. Kita tinggal klik kanan di masing-masing list.



Schema diatas dibuat berdasarkan datawarehouse yang sudah dibuat sebelumnya (berikut screenshot-nya):


Adapun penjelasan dari Schema yang sudah dibuat adalah:
Cube 
Cube adalah bagian utama dari OLAP. Cube berisi kumpulan banyak data yang telah disatukan (diagregasi) sehingga mempercepat hasil query. Misal, data penjualan yang telah disatukan dengan data periode waktu dan jenis barang, akan mempercepat hasil query untuk menampilkan data penjualan per-minggu, atau per-bulan dan berdasarkan jenis barang tertentu. Di dalam Cube terdapat Dimension dan Measures.
Dimension
Dimension adalah bagian dari Cube yang menggambarkan suatu kategori data, yang digunakan sebagai dasar untuk merangkum data. Misalnya: dimensi waktu atau area. Biasanya pula, dimension memiliki hirarki atau jenjang atau tingkatan. Misal dimensi waktu memiliki tingkatan berupa: tahun, bulan, minggu, hari, dan sebagainya. Dimensi area, seperti propinsi, kabupaten, kecamatan dan desa. Tabel yang digunakan sebagai dimension disebut Dimension Table.
Measure
Measure adalah bagian dari Cube yang berisi kumpulan data yang akan dirangkum, seperti data jumlah penduduk laki-laki, jumlah penduduk perempuan, kepadatan penduduk, dan lain-lain. Pada umumnya, data yang tergolong dalam measure ini tidak memiliki hirarki atau jenjang, dan dapat dilakukan proses matematis (penjumlahan, pengurangan, dan lain-lain). Tabel yang berisi data-data dalam kelompok Measure ini disebut dengan Fact Table.

5. Supaya lebih jelas, akan saya perlihatkan satu-per-satu settingan di dalam masing-masing list Schema:

Gambar 1 Schema: pada list ini kita cuma membuat nama dari Schema

Gambar 2 Cube: Pada list ini kita cuma memberi nama Cube

Gambar 3 Pada list ini kita masukkan fact table untuk membuat Measures dibawah

Gambar 4 Pada list ini kita membuat sebuah dimensi. Isi dengan nama dimensi, foreign key (merujuk ke fact table), dan type StandardDimension

Gambar 5 Berikut adalah Hierarchy. Isi dengan nama, dan primaryKey

Gambar 6 Sebenarnya untuk membuat level, kita harus menambahkan table Dimensi terlebih dahulu. Jangan sampai lupa untuk mencentang uniqueMembers! Untuk Type menyesuaikan.

Atribut uniqueMembers digunakan untuk mengoptimalkan generasi SQL. Apabila kamu tahu nilai di kolom level di Table Dimensi adalah unik maka set uniqueMembers="true", jika tidak set uniqueMembers="false". Sebagai contoh, dimensi waktu seperti [Tahun].[Bulan] akan memiliki uniqueMembers=”false” dalam level Bulan, karena akan ada bulan yang sama di tahun yang berbeda. Selain itu, apabila kamu punya hirarki [Kelas Produk].[Nama Produk], dan kamu yakin kalau [Nama Produk] itu unik, maka set uniqueMembers=”true”. Apabila tidak yakin, maka selalu set uniqueMembers="false"

Gambar 7 Untuk Measure, pilih aggregator sesuai dengan yang dibutuhkan. Seperti sum, count, and etc

6. Setelah Schema selesai dibuat, jangan lupa untuk Publish ke Pentaho BI Server. Sehingga, schema yang sudah kita buat bisa digunakan. Caranya klik File -> Publish



7. Nanti akan muncul pop-up seperti dibawah ini. Sesuaikan dengan konfigurasi Pentaho BI-Server dikomputer:



Sesuaikan Pentaho or JNDI Data Source dengan yang sudah kita buat di Pentaho BI-Server. Cara mengeceknya, jalankan Pentho BI-Server. Selanjutnya ke File -> Manage Data Sources.


Setelah selesai, tinggal klik Publish.