fbpx
Window Function

Asah Kemampuan SQL dengan Window Function

18 April 2022

Salah satu syarat untuk menjadi data scientist adalah menguasai banyak skill, salah satunya adalah SQL. Untuk bisa menguasai SQL, sangat penting bagi Anda untuk memahami apa itu window function. Sekilas, akan terlihat cukup rumit. Namun ketika Anda sudah paham, akan ada banyak pengaplikasian fungsi yang sangat membantu dalam penyelesaian analisis data. Lalu, apa saja yang termasuk sebagai window function dalam sistem SQL?

Apa itu SQL dan window function?

Sebelum bergerak membahas mengenai window function dalam SQL, penting untuk memahami apa itu SQL dan window function itu sendiri. Bila Anda sudah familiar dengan hal-hal ini, silakan langsung menuju ke daftar window function di bawah.

Structured Query Language atau SQL adalah standar bahasa dalam manajemen pengolahan data. SQL sering kali digunakan untuk meng-update data dalam database atau mengambil data dari database. Beberapa sistem database yang sering menggunakan SQL antara lain Oracle, Sybase, Microsoft SQL Server, Access, Ingres, dan lain sebagainya. 

Window function adalah fungsi hitung dalam satu set row yang berkaitan satu sama lain. Berbeda dengan aggregate function, window function tidak menggabungkan hasil dalam satu rows menjadi satu. Alih-alih menjadikannya nilai tunggal, window function mempertahankan identitas aslinya dan hasil yang telah dihitung muncul sebagai output untuk masing-masing row.

6 Window function pada SQL

Ada sejumlah window function yang dapat Anda pelajari untuk meningkatkan kemampuan menggunakan SQL. Berikut adalah sejumlah window function pada SQL yang wajib Anda pahami.

1. Basic syntax

Sebelum masuk ke window function yang lebih dalam, ada baiknya Anda memahami setiap fungsi basic pada SQL. Basic syntax dalam SQL antara lain ‘Select’, ‘Insert’, ‘Update’, ‘Delete’, ‘Create’, ‘Drop’, ‘Alter’, dan ‘Show’. Semua perintah ini adalah perintah umum yang dapat digunakan untuk mengolah database. Perlu diingat bahwa SQL bersifat case insensitive, artinya penulisan ‘SELECT’ dan ‘select’ dalam sebuah statement memiliki perintah yang sama.

2. Row number

Sering kali dataset yang Anda memiliki tidak punya kolom yang menunjukkan urutan row. Dalam kasus ini, Anda dapat menggunakan window function ROW_NUMBER(). Fungsi ini akan meletakkan nomor urut unik untuk setiap row dalam sebuah tabel.

Uniknya, Anda dapat membatasi dataset menjadi sebuah partisi, kemudian mengurutkan row_number pada partisi tersebut. Ketika data diurutkan berdasarkan aturan partisi, nilai row_number akan berulang ketika partisi baru dimulai.

3. Nth value

Bila Anda ingin mencari nilai nth pada satu expression dalam satu window frame, maka Anda dapat menggunakan fungsi NTH_VALUE(expression, N). Misalnya, untuk mendapatkan nilai top 3 gaji tertinggi dalam setiap divisi, maka Anda dapat membagi row berdasarkan kolom divisi, kemudian mengurutkan row dalam partisi tersebut berdasarkan gaji tertinggi. Setelah itu, gunakan fungsi NTH_VALUE untuk mendapatkan nilainya.

4. Ntile

Ketika Anda ingin mengurutkan row berdasarkan partisi menjadi beberapa kelompok, Anda dapat menggunakan NTILE(). Fungsi ini sangat berguna ketika Anda ingin menentukan persentil, quartil ,atau sejenisnya. Anda juga dapat membagi row menjadi beberapa grup dan menghitung NTILE untuk partisi yang berbeda.

5. Order by

Sesuai namanya, window function pada SQL ini memungkinkan pengguna untuk mengurutkan data dalam row berdasarkan kolom yang diinginkan. Sehingga akan membuat range dari sebuah data dan mengurutkan sesuai urutan yang Anda inginkan, baik increasing atau decreasing.

6. Lag and lead

Dalam analisis data, Anda mungkin kerap membandingkan nilai dari satu row dengan row sebelum atau sesudahnya. Window function LEAD() dan LAG() bisa jadi fungsi yang tepat untuk mengolah data ini. Fungsi Lead menunjukkan nilai berikutnya dari row yang diinginkan. Sebaliknya, Lag menunjukkan nilai sebelumnya dari row tersebut. Bila tidak tersedia data di sebelum atau sesudah fungsi tersebut, maka nilai yang muncul adalah ‘null’.

Kesimpulan

Dalam proses pengolahan data, dibutuhkan berbagai keahlian khusus, salah satunya adalah SQL. Untuk menggunakan SQL sebagai basis pengolahan data, Anda perlu mengetahui berbagai fungsi, termasuk window function. Ada berbagai jenis dengan fungsi dan kegunaan masing-masing yang akan memudahkan Anda ketika mengolah data. Meski terlihat rumit, nyatanya menguasai fungsinya akan membantu Anda menyelesaikan analisis data secara efektif.

Agar lebih mendalami tentang window function maupun fungsi hitung lain dalam SQL, Anda bisa mengikuti kelas dari Algoritma Data Science School. Tak hanya SQL, Algoritma Data Science School juga menyediakan berbagai kelas data science lain yang bisa Anda pilih berdasarkan level expertise. Mari bergabung sekarang juga!

Referensi:

Yuk belajar data science di Algoritma Data Science Education Center! Kamu bisa ikut berbagai kelas data science untuk pemula, salah satunya di program Academy kami.

PELAJARI LEBIH LANJUT

Related Blog

Distributed Processing
Apa Itu Data Analysis Expressions?
jadi data scientist
Cara Menjadi Data Scientist Handal
Distributed Processing
Mengenal Apa Itu Distributed Processing

Salah satu syarat untuk menjadi data scientist adalah menguasai banyak skill, salah satunya adalah SQL. Untuk bisa menguasai SQL, sangat penting bagi Anda untuk memahami apa itu window function. Sekilas, akan terlihat cukup rumit. Namun ketika Anda sudah paham, akan ada banyak pengaplikasian fungsi yang sangat membantu dalam penyelesaian analisis data. Lalu, apa saja yang termasuk sebagai window function dalam sistem SQL?

Apa itu SQL dan window function?

Sebelum bergerak membahas mengenai window function dalam SQL, penting untuk memahami apa itu SQL dan window function itu sendiri. Bila Anda sudah familiar dengan hal-hal ini, silakan langsung menuju ke daftar window function di bawah.

Structured Query Language atau SQL adalah standar bahasa dalam manajemen pengolahan data. SQL sering kali digunakan untuk meng-update data dalam database atau mengambil data dari database. Beberapa sistem database yang sering menggunakan SQL antara lain Oracle, Sybase, Microsoft SQL Server, Access, Ingres, dan lain sebagainya. 

Window function adalah fungsi hitung dalam satu set row yang berkaitan satu sama lain. Berbeda dengan aggregate function, window function tidak menggabungkan hasil dalam satu rows menjadi satu. Alih-alih menjadikannya nilai tunggal, window function mempertahankan identitas aslinya dan hasil yang telah dihitung muncul sebagai output untuk masing-masing row.

6 Window function pada SQL

Ada sejumlah window function yang dapat Anda pelajari untuk meningkatkan kemampuan menggunakan SQL. Berikut adalah sejumlah window function pada SQL yang wajib Anda pahami.

1. Basic syntax

Sebelum masuk ke window function yang lebih dalam, ada baiknya Anda memahami setiap fungsi basic pada SQL. Basic syntax dalam SQL antara lain ‘Select’, ‘Insert’, ‘Update’, ‘Delete’, ‘Create’, ‘Drop’, ‘Alter’, dan ‘Show’. Semua perintah ini adalah perintah umum yang dapat digunakan untuk mengolah database. Perlu diingat bahwa SQL bersifat case insensitive, artinya penulisan ‘SELECT’ dan ‘select’ dalam sebuah statement memiliki perintah yang sama.

2. Row number

Sering kali dataset yang Anda memiliki tidak punya kolom yang menunjukkan urutan row. Dalam kasus ini, Anda dapat menggunakan window function ROW_NUMBER(). Fungsi ini akan meletakkan nomor urut unik untuk setiap row dalam sebuah tabel.

Uniknya, Anda dapat membatasi dataset menjadi sebuah partisi, kemudian mengurutkan row_number pada partisi tersebut. Ketika data diurutkan berdasarkan aturan partisi, nilai row_number akan berulang ketika partisi baru dimulai.

3. Nth value

Bila Anda ingin mencari nilai nth pada satu expression dalam satu window frame, maka Anda dapat menggunakan fungsi NTH_VALUE(expression, N). Misalnya, untuk mendapatkan nilai top 3 gaji tertinggi dalam setiap divisi, maka Anda dapat membagi row berdasarkan kolom divisi, kemudian mengurutkan row dalam partisi tersebut berdasarkan gaji tertinggi. Setelah itu, gunakan fungsi NTH_VALUE untuk mendapatkan nilainya.

4. Ntile

Ketika Anda ingin mengurutkan row berdasarkan partisi menjadi beberapa kelompok, Anda dapat menggunakan NTILE(). Fungsi ini sangat berguna ketika Anda ingin menentukan persentil, quartil ,atau sejenisnya. Anda juga dapat membagi row menjadi beberapa grup dan menghitung NTILE untuk partisi yang berbeda.

5. Order by

Sesuai namanya, window function pada SQL ini memungkinkan pengguna untuk mengurutkan data dalam row berdasarkan kolom yang diinginkan. Sehingga akan membuat range dari sebuah data dan mengurutkan sesuai urutan yang Anda inginkan, baik increasing atau decreasing.

6. Lag and lead

Dalam analisis data, Anda mungkin kerap membandingkan nilai dari satu row dengan row sebelum atau sesudahnya. Window function LEAD() dan LAG() bisa jadi fungsi yang tepat untuk mengolah data ini. Fungsi Lead menunjukkan nilai berikutnya dari row yang diinginkan. Sebaliknya, Lag menunjukkan nilai sebelumnya dari row tersebut. Bila tidak tersedia data di sebelum atau sesudah fungsi tersebut, maka nilai yang muncul adalah ‘null’.

Kesimpulan

Dalam proses pengolahan data, dibutuhkan berbagai keahlian khusus, salah satunya adalah SQL. Untuk menggunakan SQL sebagai basis pengolahan data, Anda perlu mengetahui berbagai fungsi, termasuk window function. Ada berbagai jenis dengan fungsi dan kegunaan masing-masing yang akan memudahkan Anda ketika mengolah data. Meski terlihat rumit, nyatanya menguasai fungsinya akan membantu Anda menyelesaikan analisis data secara efektif.

Agar lebih mendalami tentang window function maupun fungsi hitung lain dalam SQL, Anda bisa mengikuti kelas dari Algoritma Data Science School. Tak hanya SQL, Algoritma Data Science School juga menyediakan berbagai kelas data science lain yang bisa Anda pilih berdasarkan level expertise. Mari bergabung sekarang juga!

Referensi:

Yuk belajar data science di Algoritma Data Science Education Center! Kamu bisa ikut berbagai kelas data science untuk pemula, salah satunya di program Academy kami.

PELAJARI LEBIH LANJUT

Related Blog

Real Time Processing
Perbedaan Batch Processing dan Real Time Processing
Metode Pengolahan Data
Tipe, Langkah, dan Metode Pengolahan Data
Batch Processing
Mengenal Batch Processing dan Implementasinya