Analisis, kenapa Spreadsheet dan bukan query SQL ?

Sebuah Demonstrasi Praktis

Pendahuluan 

Pada banyak organisasi dewasa ini, aplikasi spreadsheet seperti Microsoft Excel dan OpenOffice Calc bisa dikatakan sebagai aplikasi yang paling banyak digunakan untuk kepentingan berbagai laporan analisis. 

Contoh laporan yang banyak disusun dengan aplikasi tersebut adalah : Laporan Likuiditas Perusahaan, Laporan Analisis Pengeluaran, Laporan Aktifitas Sales / Penjualan, dan lain-lain.

Dengan kemudahan penggunaannya dan juga kaya akan fitur formulasi data menyebabkan user sulit berpaling dari aplikasi ini,. Walaupun saat ini sudah banyak aplikasi reporting yang diberikan. Aplikasi laporan / reporting ini biasanya menggunakan bahasa Structured Query Language (SQL) menggunakan database relasional.

Dan inilah yang sering menjadi masalah, laporan dari SQL yang dibuat oleh pihak IT perusahaan sering mengecewakan user karena  dibandingkan dengan kemampuan spreadsheet ini. 

"Saya bisa buat laporan ini dengan mudah di Excel, tapi kok aplikasi IT ga bisa ya ??"

mungkin merupakan komentar atau pertanyaan yang sering didengar oleh para developer IT / IS.

Nah, apakah ini masalahnya IT yang tidak bisa berkomunikasi dengan para user atau karena keterbatasan aplikasi reporting yang di belakangnya menggunakan SQL ?

Artikel ini akan coba menjawab pertanyaan tersebut dengan 2 alasan utama kenapa bahasa SQL tidak bisa menggantikan fungsionallitas Excel dengan baik.

Contoh Table di Spreadsheet dan Database Relasional

Untuk memulai, saya akan memberikan satu contoh table summary aktivitas sales dilihat pada dua aplikasi. 

Satu dilihat di Microsoft Excel dan satunya di client database relasional MySQL. Berikut adalah tampilan screenshot dari kedua aplikasi untuk data yang sama. 



Tampilan Tabel Analisa di Microsoft Excel 2007



Tampilan Tabel melalui Query MySQL


Navigasi Antar Cell 

Salah satu kekuatan Excel adalah penggunaan referensi cell yang sangat dinamis, hal ini menjadikan spreadsheet ini mampu mengambil nilai dari posisi mana saja, baik itu baris ataupun kolom yang tidak sejajar dengannya.

Contoh : Perhitungan "Year To Date"

Untuk menghitung Year To Date atau akumulasi dari awal tahun sampai dengan periode yang dianalisa dari jumlah "Panggilan Telepon" maka pengguna Excel bisa memasukkan rumus seperti pada gambar di bawah ini.


Formulasi Perhitungan YTD di Microsoft Excel

Lalu, bagaimana dengan kemampuan navigasi cell ini di SQL ? Bahasa SQL dirancang untuk mengirimkan set / bulk rows tetapi tidak mengenal antar row satu sama lain. Misalkan mana row yang berada satu level di atas atau di bawah row saat ini, column mana yang merupakan column "tetangga".

Jadi untuk solusi seperti Excel di atas, salah satu solusi SQL terlihat seperti di bawah ini :



Bisa dibayangkan jika ada perhitungan atau formulasi yang melibatkan cell yang lebih banyak dan beragam ?

Pivot

Kekuatan Excel lainnya adalah kemampuan membuat tampilan pivot seperti terlihat pada gambar di bawah ini. Fitur ini membuat para analisis data dapat melihat data dari berbagai perspektif, kita tinggal memindahkan mana perspektif row dan column yang diinginkan serta tipe agregasi (sum, count, dll) yang diinginkan untuk pengukuran kita.



Bahasa SQL seperti biasa akan banyak menggunakan subquery untuk menghasilkan pivot ini dan tidak bisa dinamis mengenali nilai row yang akan dipetakan menjadi column. 

Dari sinilah, kami mengambil kesimpulan bahwa bahasa SQL secara umum sangat tidak tepat jika digunakan sebagai ekspresi untuk kasus-kasus analisis.

Kelemahan Spreadsheet

Walaupun memiliki fitur yang sangat powerful, produk spreadsheet seperti Excel memiliki keterbatasan jumlah row dan column yang bisa ditampung. Dan perbedaan antar versi juga berbeda. 

Untuk Excel sampai dengan versi 2003 memiliki keterbatasan jumlah row sampai dengan 65,536. Excel versi 2007 1,048,576 rows dan Excel versi 2010 

Dan jika memang dapat mengolah data sampai sebesar limit yang didukung, performa analisis akan sangat turun karena besarnya data yang diolah.

Solusi OLAP dan MDX

Nah, untuk mengikuti kekuatan fitur dari Excel dibarengi kemampuan mengolah data yang sangat besar maka Anda harus menggunakan solusi OLAP (Online Analytical Processing).  OLAP inilah yang merupakan komponen penting di ranah Business Intelligence (BI). 

Produk OLAP Engine yang ada di pasaran contohnya adalah Microsoft Analysis Service (MSAS), Pentaho Analysis Service (Mondrian), dan lain-lain. 

Dan bahasa yang digunakan untuk menggantikan SQL pada produk-produk OLAP ini adalah MDX (Multi Dimensional Expression) yang memiliki kemampuan navigasi dan pivot antar cell data dengan baik.

Kesimpulan

  • Bahasa SQL pada database relasional tidak bisa menggantikan fitur analisis di Excel karena dua hal :
    • kemudahan navigasi cell di Excel tidak bisa diikuti oleh SQL.
    • kemampuan pivoting data.
  • Walaupun powerful, produk spreadsheet seperti Excel memiliki kekurangan di sisi penanganan data besar.
  • Untuk data besar, produk OLAP (Online Analytical Processing) dipadukan dengan bahasa MDX (Multi Dimensional Expression) adalah pengganti spreadsheet yang sangat baik.
Ĉ
Feris Thia,
Nov 5, 2010, 9:34 AM
ċ
aktifitas_penjualan.sql
(1k)
Feris Thia,
Nov 5, 2010, 9:37 AM