hawkeye22Avatar border
TS
hawkeye22
[MySQL] 3 Langkah membuat Pivot Table (Dynamic Rows to Columns)
Sepertinya, sudah banyak yang bertanya tentang Pivot Table dengan istilah yang berbeda-beda..
Saya coba buat sebuah tutorial Khusus berdasarkan masalah di Thread ini supaya untuk selanjutnya, masalah seperti ini tidak berulang-ulang dipertanyakan..
Berdasarkan kasus di atas, diketahui ada sebuah table dengan data nilai
Spoiler for Tabel Nilai:

dari table tersebut, hasil yang diinginkan adalah, seperti ini:
Spoiler for HasilYgDiinginkan:

lalu ketika ditambahkan data baru, misalnya Nama:Soleh, Nilai:40,50,
hasil yang diinginkan adalah, seperti ini:
Spoiler for HasilLainnya:


Sederhanya, untuk membuat pivot table seperti di atas, ada 3 langkah:
Spoiler for 3 Langkah membuat Pivot Table:


Jika diperhatikan, Table Nilai di atas memiliki 3 kolom yaitu, id, nama, dan nilai dengan data nilai perorang memiliki 2 nilai berbeda,
karena dalam table ini telah ditentukan masing-masing memiliki 2 nilai, maka perlu tambahan 1 kolom untuk menyamakan jenis nilai, sebut saja kolom order.
Hasilnya, Table Nilai akan menjadi seperti ini.
Spoiler for TableNilaiBaru:

Dari Table Nilai yg baru, maka dapat diketahui bahwa nilai memiliki 2 jenis, yaitu nilai 1 dan 2 berdasarkan kolom order.

Setelah itu, mari kita mulai menjalankan 3 Langkah Membuat Pivot Table.
1. query untuk membuat columnHeader
Jika kita menginginkan rows berisi `nama`menjadi header, maka cukup kita membuat pengelompokan berdasarkan `nama`,
kira-kira seperti ini cara mengelompokkannya:
Spoiler for columnHeader:

Hasilnya, seperti DEMO

2. Menentukan queryBuilder untuk membuat query 1 menjadi dinamis
Untuk membangun ratusan/ribuan Column Header, jika kita buat satu persatu seperti Nomor 1 di atas, tentunya akan GEMPORRR DIJAMIN!!!
ini solusinya:
Spoiler for columnHeaderMaker:

hasilnya, akan seperti DEMO2
bisa kita lihat, kita gunakan GROUP_CONCAT "itu" lebih baik.
saya sampaikan terima kasih kepada keluarga CONCAT..

3. Membuat store prosedur
Akhirnya, kita sampai di penghujung acara emoticon-Big Grin
begini kira2 prosedurnya:
Spoiler for StoreProcedure:

dan hasilnya bisa dilihat DEMO3
Spoiler for Hasil Akhir:

ok, cukup sekian, semoga bermanfaat,,
Diubah oleh hawkeye22 17-05-2013 15:42
nona212
nona212 memberi reputasi
2
19.2K
22
GuestAvatar border
Guest
Tulis komentar menarik atau mention replykgpt untuk ngobrol seru
Mari bergabung, dapatkan informasi dan teman baru!
Programmer Forum
Programmer ForumKASKUS Official
20.2KThread4.2KAnggota
Terlama
GuestAvatar border
Guest
Tulis komentar menarik atau mention replykgpt untuk ngobrol seru
Ikuti KASKUS di
© 2023 KASKUS, PT Darta Media Indonesia. All rights reserved.