Guide Singkat buat kamu yang ingin tahu tentang SQL Window Functions!
Calon Data Analyst, Data Engineer dan Data Scientist wajib tahu!
Mari kita bahas....
Kemampuan untuk mengolah data merupakan skill yang sangat penting dan wajib dimiliki oleh Pacpeers yang tertarik ingin menjadi data analyst atau data scientist yang handal.
Salah satu skill wajib tersebut adalah penguasaan SQL.
Untuk bisa menggunakan SQL, Pacpeers juga perlu mengetahui berbagai macam fungsi turunan dari SQL, yang salah satunya akan Pacmin bahas dalam thread hari ini yaitu: Window Functions.
Sebelumnya, kita kenalan dulu dengan apa itu SQL!
SQL atau Structured Query Language merupakan standar bahasa pemrograman yang digunakan untuk mengakses, mengubah, dan memanipulasi data di database.
Pernah liat loker yang listing "Memahami CRUD"
Nah, itu berhubungan juga dengan SQL.
Lalu apa itu SQL Window Functions?
SQL Window Functions merupakan suatu fungsi hitung pada SQL yang menggunakan nilai dari beberapa row (baris) untuk menghasilkan nilai ke setiap baris secara terpisah.
Window functions tidak menggabungkan hasil menjadi satu row dan satu nilai,
Karena hasil yang telah dihitung akan muncul sebagai output untuk masing-masing row.
Artinya query performance yang berbeda karena tidak membuat tabel baru untuk penyimpanan memori temporer.
Window Functions sangat berguna untuk mengetahui suatu kondisi atau nilai perbaris yang bisa digunakan untuk membandingkannya dengan nilai-nilai "agregat".
Memang, pada SQL ada satu fungsi yang mirip dengan window function yaitu Group By, tapi......perbedaan utama dari Group By dan Window Functions, yaitu,
Tabel yang dihasilkan dari query Window Functions, tidak dikelompokkan menjadi satu baris seperti pada Group By.
Pada Window Functions setiap baris akan mempertahankan nilai dan identitasnya,
Artinya Window Functions dapat menampilkan nilai tunggal untuk setiap baris.
Ini adalah perbedaan yang terlihat dari Group By dan Window Function:
Berikut ini merupakan struktur query atau syntax umum dari Window Functions:
Secara umum SQL window functions ini bisa dibagi menjadi 3 tipe, yaitu: 1. Aggregate 2. Ranking 3. Value
1. Aggregate Window Functions
Terdiri dari: AVG(), MAX(), MIN(), SUM() dan COUNT().
Aggregate window functions akan melakukan perhitungan dengan menghasilkan suatu nilai dari setiap baris data berdasarkan fungsi spesifik yang digunakannya.
Contoh syntax AVG():
Menghitung dan menampilkan nilai rata-rata (AvgUnitPrice) berdasarkan EmployeeId dan CustomerId.
Ranking window functions akan menetapkan suatu nilai/ angka ke suatu baris berdasar pada urutan spesifik yang digunakannya.
Contoh syntax ROW_NUMBER() (lihat gambar) :
Menampilkan ranking unik (UnitRank), mulai dari 1 ke semua baris data berdasarkan UnitPrice.
3. Value Window Functions
Terdiri dari: LAG(), LEAD(), FIRST_VALUE(), LAST_VALUE(), NTH_VALUE()
Value window functions akan menetapkan dan mengekstrak nilai dari suatu baris dari baris lain yang bisa digunakan untuk membandingkan nilai dari baris sebelumnya atau berikutnya.
Contoh syntax LEAD():
mendapatkan nilai dari masing-masing baris dari kolom Quantity (1 data setelahnya) untuk di salin di kolom baru yaitu kolom Lead.
[BONUS Cheat Sheet]
Sebetulnya masih banyak contoh fungsi pengaplikasian lain dari SQL Window Functions yang bisa Pacpeers eksplorasi dan pelajari lebih jauh.
Pacmin sertakan di bawah untuk kalian belajar⬇️
Berikut Pacmin share cheatsheet dari SQL dan Window Functions yang bisa Pacpeers gunakan sebagai pedoman jika ingin mempelajari lebih jauh:
SQL dan data wrangling itu adalah dasar untuk Data Analysis, jadi pastikan kalian belajar SQL secara mendalam, diajarin gak di Pacmann? diajarin di semua fundamental dong!
Sebagai permulaan untuk mengenali dunia data, kalian bisa ikutan Intro Data Pacmann nih, mumpung buka ⬇️
Social Network Analysis di Intro Data GRATIS: Social Network Analysis with Gephi
Social Network Analysis, beberapa tahun terakhir dikenal oleh warga twitter dari Pak @ismailfahmi
Emang manfaatnya apa sih?
Berburu Buzzer? 👀
Nih, Pacmin bahas!
Kalo ngomongin social network analysis,
Pacmin inget Six Degree of Separation yang menjelaskan bahwa semua orang itu hanya terpisah tidak lebih dari runtutan 5 orang yang ternyata saling mengenal, dan kita serasa hidup dalam dunia yang sempit.
Teori tersebut di-propose oleh Milgram, seorang socio-psychologist.
Ada lagi teori dari seorang mathematician bernama Paul Erdos yang menemukan Graph Theory!
Data analytics masih menjadi in-demand skills di masa depan,
Tapi masih banyak yang bingung belajar dari mana?
Pacmin share nih, tips belajar data analytics dari level beginner!
Berdasarkan Future of Jobs Survey 2020, yang dilakukan oleh World Economic Forum, diperkirakan data analyst dan data scientist merupakan pekerjaan yang memiliki permintaan tinggi di Indonesia.
Data Analyst merupakan suatu posisi yang memiliki tugas untuk mengumpulkan, mengolah, menganalisis dan menafsirkan data untuk memecahkan masalah tertentu.
🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉
Halo all, Pacmann launching product terbaru kami:
Program Statistics
Ini adalah course Statistics paling end-to-end, dengan harga Rp 200rb-an/course untuk mahasiswa dan Rp 300rb/course untuk public, tentunya TETAP BERKUALITAS!
Kami menjual program ini dalam bundle per 6 bulan. Untuk program 6 bulan harganya sekitar Rp 1.4juta-an untuk mahasiswa dan Rp 2.1juta-an untuk public. Budget friendly banget kan!
Q: Kenapa saya harus mengikuti program ini?
A: Program ini mengajarkan materi end to end dari Statistics. Kalian akan paham pemodelan dari Probability, Stats Inferences, Econometrics, Time Series, Categorical Modeling, Bayesian Statistics, sampai Spatial Statistics!
Perlu data tesktual buat latihan proyek machine learning?
Akuisisi data Twitter saja; gampang, kok!
A thread!🧵
Perhatian:
Utas ini memuat materi promosi tentang Non-Degree Program Data Engineer di @pacmannai untuk memenuhi permintaan atas talenta Data Engineer di industri.
Data tak melulu berbentuk tabel yang memuat deretan angka, tetapi juga bisa bersifat tekstual.
Di machine learning, data tekstual umum dipakai untuk tugas-tugas Natural Language Processing.
Sebut saja analisis sentimen dan klasifikasi topik.