## PERANCANGAN DATA WAREHOUSE dan DASHBOARD PT. JAYA TEKNIK
I Dewa Bagus Gde Khrisna Jayanta Nugraha 1) , Agus Susanto 2) , Abba Suganda Girsang 3)
1,2,3 Computer Science Department
1,2,3 BINUS Graduate Program - Master of Computer Science
1,2,3 Bina Nusantara University, Jakarta 11480, Indonesia E-mail: i.nugraha004@binus.ac.id 1) , agus.susanto001@binus.ac.id 2) , agirsang@binus.edu 3)
Abstract
A contractor is a company that contracts with another person or government or company to supply goods or complete certain services. PT. JAYA TEKNIK has a lot of project contract data and it has not yet been processed into information. To facilitate the employees of PT. JAYA TEKNIK in analyzing and evaluating past or future projects requires a Data Warehouse . The purpose of this research is to design and analyze the Data Warehouse needed to provide information regarding project contract data at PT. JAYA TEKNIK. The Data Warehouse design method uses 4 stages (Four-Step Methodology) proposed by Ralph Kimball in designing a Data Warehouse system. The final result to be achieved is the design of a Data Warehouse and dashboard is a visualization that will provide significant information about the project contract data at PT. JAYA TEKNIK which can be seen from different perspectives and facilitates related parties in making decisions.
Keywords - Data Warehouse , Dashboard, Kimball Methodology, Pentaho, ETL.

## Intisari
Kontraktor adalah perusahaan yang melakukan kontrak kerja dengan orang atau pemerintah atau perusahaan lain untuk memasok barang atau menyelesaikan jasa tertentu. PT. JAYA TEKNIK memiliki data kontrak proyek yang sangat banyak dan masih belum diolah menjadi suatu informasi. Untuk memudahkan karyawan PT. JAYA TEKNIK dalam menganalisa dan mengevaluasi project-project yang sudah berlalu ataupun yang akan datang dibutuhkan Data Warehouse . Tujuan dari penelitian ini adalah merancang dan menganalisa Data Warehouse yang dibutuhkan dalam penyediaan informasi mengenai data kontrak project pada PT. JAYA TEKNIK. metode perancangan Data Warehouse menggunakan 4 tahapan (Four-Step Methodology) yang diusulkan oleh Ralph Kimball dalam merancang sistem Data Warehouse . Hasil akhir yang akan dicapai adalah perancangan Data Warehouse dan dashboard yang merupakan visualisasi yang akan menyediakan informasi signifikan mengenai data kontrak project pada PT. JAYA TEKNIK yang dapat dilihat dari sudut pandang berbeda dan memudahkan pihak terkait dalam pengambilan keputusan.
Kata Kunci — Data Warehouse , dashboard, Kimball Methodology, Pentaho, ETL.

## 1. PENDAHULUAN
Kontraktor adalah perusahaan yang melakukan atau melaksanakan suatu kontrak kerja dengan memperlihatkan suatu perusahaan ataupun pemerintah guna mengirimkan barang ataupun menuntaskan suatu layanan jasa tertentu [1]. Bidang kerjanya mungkin pembangunan gedung, pembuatan jalan raya, penyediaan ribuan generator serta pembangunan instalasi listrik. Dalam prakteknya, sebuah perusahaan kontraktor tidak menuntaskan suatu proyek ini dengan tidak memperlibatkan pihak yang lainnya. Bahkan, jiak nilai dari proyek ini tinggi, dengan demikian kontraktor ini nantinya
akan mencari sub-kontraktor lainnya guna menuntaskan proyek yang dilaksanakan ini.
PT. JAYA TEKNIK adalah salah satu kontraktor yang berlokasi di Jakarta yang bergerak di bidang Mekanikal, Elektrikal dan Teknologi. PT. JAYA TEKNIK memiliki data kontrak proyek yang sangat banyak dan masih belum diolah menjadi suatu informasi. Untuk memudahkan karyawan PT. JAYA TEKNIK dalam menganalisa dan mengevaluasi project- project yang sudah berlalu ataupun yang akan datang dibutuhkan Data Warehouse .
Data Warehouse merupakan basis data yang dirancang untuk mengerjakan proses query,
membuat laporan dan juga penganalisaan. Data yang disimpan dalam sebuah Data Warehouse ialah berupa data histori suatu organisasi atau perusahaan, dimana data ini tidak secara rinci tersimpan [2]. Data Warehouse berbeda dengan data OLTP (Online Transactional Processing) yang tersimpan hingga proses ini dapat secara lengkap berlangsung.
Tujuan dari penelitian ini adalah merancang dan menganalisa Data Warehouse yang dibutuhkan dalam penyediaan informasi mengenai data kontrak project pada PT. JAYA TEKNIK. Untuk metode perancangan Data Warehouse menggunakan 4 tahapan (Four-Step Methodology) yang diusulkan oleh Ralph Kimball dalam merancang sistem Data Warehouse .
Hasil akhir yang akan dicapai adalah perancangan Data Warehouse dan dashboard sebagai visualisasi yang akan menyediakan informasi signifikan mengenai data kontrak project pada PT. JAYA TEKNIK yang dapat dilihat dari sudut pandang berbeda. Perancangan Data Warehouse ini dilakukan untuk membantu organisasi untuk menganalisis informasi sesuai kebutuhan dan memudahkan pihak terkait dalam pengambilan keputusan.
Pada penelitian sebelumnya, pengembangan data warhouse berhasil membantu mengetahui tren akses pelanggan layanan wifi di perusahaan Pt. XYZ dengan sangat baik. [3]

## 2. METODOLOGI

## 2.1. Data Warehouse
Mengacu pada uraian yang dikemukakan William and Richard [4] menjelaskan bahwa Data Warehouse ini didefinisikan dengan koleksi atau kumpulan data yang memiliki sifat yang berorientasikan terhadap tim-variant, terintegrasi, subjek dan juga tetap atas berbagai kumpulan data yang dapat menunjang proses dalam mengambil keputusan yang
dilaksanakan oleh pihak manajemen.
Mengacu pada uraian yang dikemukakan Poe, Brobst, and Klauer [5] mengungkapkan bahwa Data Warehouse ini didefinisikan dengan database yang sifatnya analisis yang hanya dapat dibaca untuk dijadikan sebagai dasar atau
fondasi untuk sistem dalam menunjang suatu keputusan.
Mengacu pada uraian yang dikemukakan Bird [6] memaparkan bahwa Data Warehouse ini diartikan dengan database relasional yang dirancang untuk analisis dan query dibandingkan dengan proses untuk
transaksional, Data Warehouse ini terdiri atas data historis atas proses transaksi yang ada, dan dapat berisikan dengan berbagai sumber data yang lain sebagainya.
Mengacu pada uraian yang dikemukakan oleh Kimball & Ross [7], terdapat 9 langkah dalam membangun sebuah data warehouse, yang dikenal dengan nine-step design methodology. Jika langkah-langkah dalam nine-step design methodology dilakukan secara sistematis, maka dapat membangun sebuah data warehouse yang baik. Sembilan langkah tersebut yaitu :
1. Choose the Process Memilih proses berarti menentukan subjek utama. Subjek utama merujuk pada suatu kegiatan bisnis perusahaan yang dapat menjawab semua pertanyaan bisnis yang penting serta memiliki ciri-ciri tertentu. Misalnya adalah proses penjualan.
2. Choose the Grain
Memilih grain berarti memutuskan apa yang direpresentasikan atau dijelaskan oleh tabel fakta. Setelah menentukan granularitas tabel fakta, kemudian dapat menentukan tabel dimensi yang terkait dengan tabel fakta. Grain pada tabel fakta juga menentukan grain tabel dimensi.
3. Identify and Conform the Dimensions
Identifikasi tabel dimensi dan hubungkan ke tabel fakta. Dimensi adalah kumpulan perspektif penting untuk menggambarkan fakta yang terdapat dalam tabel fakta. Misalnya, dimensi pelanggan, waktu, jenis produk, dan lainnya.
4. Choose the Facts
Grain pada sebuah tabel fakta menentukan fakta yang dapat digunakan. Pada titik ini, langkah yang dilakukan adalah menentukan measure yang diperlukan. Informasi apa yang ingin dibutuhkan.
5. Store Precalculations in the Fact Table
Pada tahap ini, perlu dipertimbangkan bahwa hasil perhitungan atribut disimpan dalam database. Hal ini untuk mengurangi risiko bug program setiap kali program melakukan perhitungan pada atribut tersebut.
6. Round Out the Dimension Tables Dari dimensi-dimensi yang telah diidentifikasi, dibuat deskripsi yang memuat informasi terstruktur mengenai atribut-atribut pada tabel dimensi. Tabel dimensi tersebut harus diberi keterangan secara lengkap dan mudah dipahami oleh pengguna.
7. Choose the Durations of the Database Durasi waktu data dimasukkan ke dalam data warehouse akan ditentukan pada tahap ini. Misalnya, data perusahaan dari dua tahun sebelumnya atau lebih diambil dan dimasukkan ke dalam tabel fakta.
8. Determine the Need to Track Slowly Changing Dimensions Dimensi berubah perlahan, yang bisa menjadi masalah. Ada tiga jenis utama perubahan dimensi lambat:
- Menulis ulang atribut yang berubah
- Membuat record baru pada dimensi
- Membuat suatu atribut alternatif untuk menampung nilai yang baru.
9. Decide the Physical Design Pada fase ini dilakukan perancangan fisik data warehouse. Ini juga mengidentifikasi masalah yang mungkin ada dalam desain fisik.

## 2.2. Konsep ETL (Extract Transform Load)
ETL (Extract Transform Load) ini didefinisikan sebagai kumpulan atau rangkaian proses dalam mempersiapkan data operational source . Proses ETL (Extract Transform Load) ini di dalamnya terdiri atas loading, extraction, transformation dan berbagai proses lainnya yang sebelum dilaksanakan publikasi pada Data Warehouse [6]. Dengan demikian, ETL (Extract Transform Load) ini ialah sebagai tahapan dari pemrosesan data atas berbagai sumber data yang ada dan masuk pada Data Warehouse . ETL (Extract Transform Load) ini bertujuan untuk melaksanakan pengumpulan, penyaringan, pengolahan dan juga penggabungan berbagai data yang relevan atas beberapa sumber tertentu untuk nantinya disimpan pada Data Warehouse ini. ETL
(Extract Transform Load) ini juga berguna agar dapat melaksanakan pengintegrasian data.
Gambar 1. Konsep ETL
Dengan tersedianya sistem tertentu, hasil atas proses ETL ini nantinya akan menghasilkan data yang sejalan dengan beberapa kriteria Data Warehouse ini, sebagai misalnya data yang statis, terangkum, terpadu, historis serta mempunyai struktur yang didesain dengan keperluan proses analisis yang dilaksanakan. Proses ini terdiri atas tiga tahapan, di antaranya ialah:

## Extract
Proses ETL (Extract Transform Load) ini yang pertama ialah proses melaksanakan penarikan data dari beberapa sistem operasional yang merupakan sumber data (dapat diambil sistem OLTP, namun juga bias dari berbagai sumber lain selain sistem database). Proyek Data Warehouse ini kebanyakan ialah dengan mengkombinasikan data yang berasal dari berbagai sumber yang berbeda lainnya. proses ekstraksi ini pada dasarnya didefinisikan dengan proses pembersihan dan juga penguraian data yang diekstrak dan kemudian didapatkan sebuah struktur ataupun pola data yang diharapkan atau ditujukan. Dalam hal ini ada berbagai fungsi dari ekstraksi data ini, di antaranya ialah sebagaimana berikut ini:
1. Ekstraksi data yang dilaksanakan berasal dari aplikasi sumber secara otomatis.
2. Penyeleksian ataupun penyaringan data atas hasil berlangsungnya ekstraksi.
3. Pengiriman data yang asalnya dari beberapa platform aplikasi pada sumber data yang ada.
4. Perubahan untuk format layout data ke bentuk yang baru yang mulanya berformat asli.
5. Penyimpanan di dalam file sementara agar nantinya menggabungkan hasil ekstraksi dengan berbagai sumber yang lainnya.

## Transformation
Proses dari transformasi data ini didefinisikan dengan proses melaksanakan pengubahan data yang asalnya berformat operasional untuk nantinya dijadikan sebagai format Data Warehouse . Proses dari transformasi ini dapat berbentuk dengan berbagai tugas tertentu, sebagai misalnya ialah konversi tipe data, melaksanakan berbagai
perhitungan,
melaksanakan penyaringan untuk berbagai data yang tidak memiliki relevansi, serta melaksanakan
ringkasan [8]. Proses
transformasi ini dibutuhkan di dalam memenuhi kebutuhan bisnis perusahaan. Terdapat berbagai langkah di dalam transformasi data ini, di antaranya ialah sebagaimana di bawah ini:
1. Melaksanakan pemetaan untuk data input menjadi skema Data Warehouse .
2. Mengkonversi format data ataupun tipe data 3. Membersihkan dan membuang kesalahan ataupun duplikasi data
4. Menghitung nilai-nilai derivate ataupun mula-mulanya.
5. Menghitung nilai-nilai rangkuman ataupun agregatnya
6. Memeriksa integritas referensi data yang digunakan
7. Mengisi nilai-nilai yang kosong diganti dengan nilai default
8. Menggabungkan data

## Loading
Fase load ini didefinisikan dengan tahapan tertentu yang fungsinya ialah memasukkan data pada target akhirnya, yakni ke dalam sebuah Data Warehouse . Jangkauan dan juga waktu untuk menambah ataupun mengganti data ini bergantung dengan rancangan dari Data
Warehouse ketika melaksanakan penganalisaan keperluan informasinya.
Fase load
ini berhubungan dengan database, constraint ini diartikan sebagai skema database yang merupakan trigger yang dapat diaktifkan ketika melaksanakan load data (sebagai misalnya ialah mandatory fields, uniqueness, referential, dan juga integrity), yang juga berguna untuk kualitas dan tampilan data di dalam proses ETL ini secara menyeluruh [9].

## 2.3. Pentaho
Pentaho Kettle ini didefinisikan sebagai suatu perangkat lunak open source yang diluncurkan Pentaho. Beberapa aplikasi Pentaho ini dikembangkan dan diluncurkan Pentaho corp yang pusatnya di Kota Orlando Negara Amerika Serikat. Software Pentaho Kettle ini berguna sebagai alat ( tools ) yang fungsinya melaksanakan pengintegrasian data. Pentaho Kettle ini memberikan berbagai fasilitas guna melaksanakan proses ETL ( Extraction, Transformation dan Loading ) [10].
Pentaho Kettle ini elemen utamanya ialah Transformation dan Job . Transformation, yang didefinisikan sebagai rangkaian perintah atau instruksi agar dapat mengubah input untuk nantinya dijadikan output yang diharapkannya. Sementara itu, Job ini didefinisikan sebagai suatu instruksi yang menjalankan atau menerapkan transformasi. di dalam Pentaho Kettle ini terdapat tiga komponen utamanya, di antaranya ialah Spoon, Pan dan juga Kitchen . Spoon ini didefinisikan sebagai suatu user interface yang berguna untuk membuatkan atau merancang Job dan Transformation . Pan ini ialah sebagai alat ( tools ) yang fungsinya ialah membaca, mengubah serta menuliskan data, dan sementara itu Kitchen ialah program yang menjalankan atau melaksanakan job [11].

## 3. ANALISIS DAN PERANCANGAN DATA WAREHOUSE

## 3.1. Analisis Data
Untuk penelitian yang dilaksanakan ini, sumber data penelitian ini ialah database PT. JAYA TEKNIK. Dalam database yang ada berisi informasi mengenai informasi kontrak proyek termasuk data besaran proyek. Dengan data tersebut metode perancangan Data Warehouse yang digunakan dalam penelitian ini menggunakan metode Nine-Step Methodology [7].

## 3.2. Perancangan Data Warehouse
a) Choosing The Process (Memilih Proses)
Proses bisnis yang terjadi dalam PT. JAYA TEKNIK meliputi: 1. Input data/pendaftaran Customer
2. Kontrak project customer 3. Kategori project 4. Nilai project 5. Durasi project b) Choosing The Grain ( Memilih Grain)
Proses ini dilaksanakan sesudah didapatkan proses bisnis yang berlangsung. Grain ini nantinya akan dijadikan sebagai fact table dalam Data Warehouse . Mengacu pada proses bisnis yang sudah dijelaskan, grain ini nantinya akan dihasilkan beberapa hal, yang mencakup dengan nama project, besar nilai project, dan juga durasi project
c) Identifying and Confirming The Dimensions (Mengidentifikasi dan Penyesuaian Dimensi) Di dalam perancangan Data Warehouse ini, langkah ketiga yang dilaksanakan ialah mengidentifikasikan dimensi yang memiliki keterkaitan hubungan dengan tabel fakta. Berdasarkan pada hasil pengidentifikasian ini, dengan demikian ditetapkan dimensi yang digunakan, yang mencakup sebagaimana di bawah ini:
1. Dimensi Customer, 2. Dimensi kategori, 3. Dimensi durasi,
4. Dimensi date,
d) Choosing The Fact (Memilih Fakta)
Langkah selanjutnya ialah memilih fact table yang berlandaskan pada pemilihan grain yang sebelumnya. Tabel fakta ini didapatkan atas analisis, yakni fact project. Ilustrasinya terdapat pada start schema berikut ini:
e) Storing Pre-Calculation in The Fact Table (Menyimpan pre-Calculation dalam Tabel Fakta)
Agregasi pada tabel fakta project adalah customer, kategori, durasi, kontrak, nilai project, nama project.
f) Rounding Out The Dimension Tables (Melengkapi Tabel Dimensi)
Tabel Dimensi pada perancangan ini yaitu :
Gambar 3. Star Scheme
g) Choosing The Duration of Database
(Pemilihan Durasi Database) Untuk merancang Data Warehouse
perpustakaan ini memerlukan waktu selama tiga tahun lamanya. Data yang disimpan dalam Data Warehouse ini nantinya ialah untuk data tiga tahun terakhir.

## 4. IMPLEMENTASI DATA WAREHOUSE

## 4.1. Implementasi ETL dengan Pentaho
Dalam proses ETL data diekstrak dari basis data operasional, kemudian ketiga basis data tersebut di transformasi untuk mendapatkan format yang sesuai dengan struktur data yang terdapat di dalam Data Warehouse . Data yang terdapat di dalam basis data akan diserap secara berkala ke dalam Data Warehouse . Berikut ini adalah tahapan yang digunakan pada proses ETL dengan menggunakan perangkat lunak Pentaho Data Integration
Pentaho Data Integration (PDI) merupakan perangkat lunak open source yang digunakan untuk melakukan proses Integrasi data. Keuntungan yang dimiliki PDI yaitu
1. Memiliki koleksi tahap transformasi yang cukup banyak,
2. Modulnya mudah untuk digunakan dalam perancangan Data Warehouse
3. Memiliki kinerja dan skalabilitas yang baik, serta
4. Dapat dikembangkan dengan berbagai plugin tambahan.
Berikut adalah contoh tahapan ETL yang digunakan dalam proses ekstraksi, transformasi dan pemindahan data dari basis data operasional ke dalam Data Warehouse
Gambar 4. Proses ETL DimCustomer
Pada Gambar 4 menampilkan proses ETL dari tabel transaksional Customer menjadi DimCustomer.
Gambar 5. Proses ETL DimKategori
Pada Gambar 5 menampilkan proses ETL dari tabel transaksional SubDivisi menjadi DimKategori.
Gambar 6. Proses ETL DimDurasi
Pada Gambar 6 menampilkan proses ETL dari tabel transaksional waktu_project menjadi DimDurasi. Dimdurasi didapatkan dari hasil kalkulasi field waktu_akhir dikurangi waktu awal pada tabel transaksional waktu_project.
Gambar 7. Proses ETL DimDate
Pada Gambar 7 menampilkan proses ETL dari tabel transaksional waktu_project dengan menjadi DimDate. Field yang diambil dari tabel waktu_project hanya tanggal_mulai
Gambar 8. Proses ETL FactProject
Pada Gambar 8 menampilkan proses ETL dari tabel transaksional project menjadi FactProject .

## 4.2. Dashboard dengan Qlik
Dashboard adalah salah satu jenis visualisasi yang merupakan alat komunikasi modern. Tujuan utama dari visualisasi data adalah untuk mengkomunikasikan informasi secara jelas dan efisien kepada penggunanya melalui grafik informasi yang dipilih, seperti tabel tabel atau grafik. Visualisasi yang efektif membantu penggunanya dalam menganalisis dan penalaran tentang data dan bukti, sehingga data yang kompleks menjadi mudah dipahami dan berguna. Perancangan Dashboard bertujuan untuk merepresentasikan atau
memvisualisasikan data yang terdapat di dalam Data Warehouse agar mudah untuk dimengerti sehingga membantu pihak manajemen untuk melakukan analisis data. Dashboard visualisasi dilakukan menggunakan tools Qlik Sense. Visualisasi pada Data Warehouse
dikelompokkan menjadi 1 halaman untuk memudahkan user memahami informasi yang tersedia. Visualisasi dashboard meliputi:
1. Dashboard Kategori, menampilkan kategori proyek yang terdiri dari 5 kategori yaitu
2. Trading, SOME, Service, Project, Maintenance. Pada dashboard ini manajemen dapat melihat besar nilai proyek pada setiap kategori.
Gambar 9. Dashboard Kategori Project
3. Dashboard Customer, menampilkan data customer. Pada dashboard ini manajemen dapat melihat besar customer dan jumlah proyek pada masing-masing customer.
Gambar 10. Dashboard Customer
4. Dashboard Durasi, menampilkan data durasi dan nilai proyek. Pada dashboard ini manajemen dapat melihat nilai proyek terbesar dari masing-masing customer berdasarkan nila proyek per menit (nilai proyek total dibagi durasi total dalam menit)
Gambar 11. Dashboard Durasi
5. Dashboard Proyek 3 Tahun terakhir, menampilkan data tahun dan nilai proyek. Pada dashboard ini manajemen dapat melihat nilai proyek terbesar pada tiap-tiap tahun selama 3 tahun terakhir.
Gambar 12. Dashboard Nilai Proyek tiap tahun

## 5. KESIMPULAN DAN SARAN
Pada perancangan Data Warehouse PT. JAYA TEKNIK ini dapat diambil kesimpulan : 1. Dengan adanya Data Warehouse dan Dashboard proses pengambilan keputusan pada proses bisnis manajemen proyek pada PT. JAYA TEKNIK menjadi lebih mudah dan cepat.
2. Pada percobaan ini Data Warehouse yang dirancang memiliki 4 dimensi dan 1 fakta yang terdiri dari dimKategori, dimDurasi, dimCustomer, dimDate dan factProject. 3. Perancangan visualisasi dashboard berdasarkan data warehouse yang dibangun mampu membantu menganalisis peluang bisnis dan
mengevaluasi pekerjaan pada tahun-tahun sebelumnya.

## DAFTAR PUSTAKA
[1] S.
Hansen,
Manajemen kontrak konstruksi . Gramedia Pustaka Utama, 2015. [2] K. Sivaganesh, P. Srinivasu, and S. C.
Satapathy, “Optimization of ETL Work Flow in Data Warehouse,” Int. J. Comput. Sci. Eng. , vol. 4, no. 9, p. 1579,
2012.
[3] Girsang, Ganda & Prakoso, Candrauji. "Data Warehouse Development for Customer WIFI Access Service at a Telecommunication Company" . International Journal on Communications Antenna and Propagation (IRECAP). 7. 114.
10.15866/irecap.v7i2.11736 , 2017.
[4] I. H. William and H. D. Richard, “Using the Data Warehouse.” John Wiley & Son’s, 1994.
[5] V. Poe, S. Brobst, and P. Klauer,
Building a data warehouse for decision support . Prentice-Hall, Inc., 1997.
[6] M. Bird, P. Lane, M. van de Wiel, M. M. Lumpkin, M. Townsend, and M.
Thiyagarajan, “Oracle Database 2 Day+
Data Warehousing Guide, 11g Release
1 (11.1) B28314-01,” 2007.
[7] R. Kimball and J. Caserta, The data warehouse ETL toolkit . John Wiley &
Sons, 2004.
[8] T. C. Ong et al. , “Dynamic-ETL: a
hybrid approach for health data extraction, transformation and loading,” BMC Med. Inform. Decis. Mak. , vol. 17, no. 1, pp. 1–12, 2017.
[9] A. P. Pereira, B. P. Cardoso, and R. M.
S. Laureano, “Business intelligence: Performance and sustainability measures in an ETL process,” in 2018
13th Iberian Conference on Information Systems and Technologies (CISTI) ,
2018, pp. 1–7. [10] Y. Wibisono, “Modul Pengantar
Pentaho Kettle,” Ilmu Komput. UPI ,
2012.
[11] R. Bouman, M. Casters, and J. Van Dongen, Pentaho Kettle solutions: building open source ETL solutions with Pentaho Data Integration . John Wiley & Sons, 2010.