Denormalisasi Data


Pendahuluan

Menyambung topik normalisasi data sebelumnya, banyak pertanyaan lanjutan muncul. Bagaimana kalau dibalikkan keadaannya ? Di-pivot kembali dari baris menjadi kolom ?

Kebutuhan ini karena kita menginginkan data source yang sudah tidak terlalu banyak treatment, seperti pivoting misalnya.

Contoh Data


Berikut adalah screenshot contoh sumber data yang digunakan, berupa file spreadsheet Excel. Kita akan mendenormalisasikan row data "Bulan" dengan nilai 1,2,3 dan seterusnya menjadi field Januari, Februari, Maret, dstnya. Untuk isi dari field tersebut kita mengambil nilai dari field "Nilai Penjualan".


Key Field

Untuk denormalisasi, kita memerlukan informasi "Key Field", yaitu field yang berisi nilai-nilai yang kemudian akan dijadikan field baru. Pada contoh kita maka "Key Field" adalah bulan dengan nilai-nilai yang akan di-map menjadi field sebagai berikut :
  • Nilai "1" menjadi field "Januari"
  • Nilai "2" menjadi field "Febuari"
  • dan seterusnya

Value Fieldname

Selain "Key Field", maka kita juga memerlukan "Value Fieldname", dimana field tersebut akan dihilangkan dan nilai dari field tersebut akan menjadi nilai dari field baru (hasil mapping dari "Key Field"). Dari contoh di atas, "Value Fieldname" kita adalah "Nilai Penjualan" dimana  :
  • 100 akan menjadi nilai dari "Januari" untuk kode produk 'Kode-001' dan nama barang 'Kacang Mete'
  • 200 akan menjadi nilai dari "Februari" untuk kode produk 'Kode-001' dan nama barang 'Kacang Mete'
  • dan seterusnya

Step "Row Denormaliser" dan "Grouping Fields"

Dengan kedua konsep key tersebut kita tidak akan kesulitan menggunakan step denormalisasi data, yaitu "Row Denormaliser". Namun ada persyaratan lagi untuk penggunaan step ini, yakni semua field yang terlibat selain "Key Field" dan  "Value Fieldname" harus diurutkan terlebih dahulu. Kumpulan field ini sering disebut sebagai "Grouping Fields" atau "Grouping Keys".



Pada contoh kita, maka grouping fields kita adalah field "Kode" dan "Nama Barang".

Rancangan Transformation

Berikut adalah contoh transformation yang membaca source data berupa file Excel dan kemudian men-transformasi data tersebut dengan step "Row Denormaliser". 


Berikut adalah screenshot pengisian konfigurasi dari step "Row denormaliser" :


Dan screenshot hasil outputnya dari step tersebut adalah sebagai berikut :


Penutup

Demikian artikel contoh transformasi yang melibatkan denormalisasi data. Contoh juga dapat di-download pada bagian akhir artikel ini.

Semoga bisa bermanfaat untuk kita semua, untuk berdiskusi lebih lanjut dapat mengunjungi user group kami di http://groups.google.com/group/pentaho-id.

Ĉ
data.xls
(18k)
Feris Thia,
Jun 28, 2010, 10:45 PM
ċ
denormalisasi.ktr
(18k)
Feris Thia,
Jun 28, 2010, 10:45 PM
Comments