QUERY(). Ternyata bisa loh pakai SQL di Google Sheets

Sebagai orang yang sehari-hari kerjanya pakai Google Sheets, dulu saya sering kesal soalnya manipulasi data yang butuh waktu lama dan logika yang ribet apabila dikerjakan menggunakan Pivot Table dan formula-formula spreadsheet sebenarnya bisa diselesaikan dengan cepat dengan menggunakan SQL. Dan ternyata, di Google Spreadsheet ada loh formula ajaib yang memungkinkan kita menggunakan SQL. formula tersebut adalah QUERY().

Formatnya adalah:

  • QUERY(data, query, [headers])
  • data dapat diisi dengan rentang cell yang berisi data-data yang ingin kita manipulasi
  • query diisi dengan SQL sesuai kebutuhan kita

Misal, 

Saya ada data penjualan dari Januari hingga Maret yang dilakukan oleh 3 orang Sales, yaitu Adam, Budi, dan Tuti:
  • Dari data tersebut saya ingin mengetahui total penjualan yg dilakukan oleh masing-masing sales.
    =query(A1:C24,"select B, sum(C) group by B order by sum(C) desc label sum(C) 'Total Penjualan'",1)
  • Dari data tersebut saya ingin mengetahui total penjualan di tiap bulan.
    =query(A1:C24,"select MONTH(A), sum(C) group by MONTH(A) order by MONTH(A) label sum(C) 'Total Penjualan'",1)
  • Dari data tersebut saya ingin mengetahui total penjualan yang dilakukan Adam pada Januari
    =query(DataPenjualan,"select sum(C) where MONTH(A)=0 AND B like 'Adam' label sum(C) 'Total Penjualan'",1)

Di contoh ke-tiga di atas saya me-rename data range A1:C24 menjadi "DataPenjualan".

SQL yang bisa digunakan memang tidak selengkap SQL di database, tapi cukuplah untuk manipulasi data di spreadsheet. Apabila ada query yang tidak bisa digunakan mungkin perlu mencari alternatifnya. Misal sepengalaman saya, query "IN()" itu tidak bisa digunakan jadi harus diakali menggunakan query "OR".

Untuk membuat formula query() ini lebih flexible, kita juga bisa menggabungkannya dengan formula lain, misal pada contoh di bawah ini saya menambahkan formula concatenate() dan lower() agar querynya bisa dinamis mengacu pada cell lain di spreadsheet tersebut.

  • =QUERY(Cashflow, CONCATENATE("SELECT SUM(C) WHERE LOWER(B) LIKE '%",LOWER(A26),"%' LABEL SUM(C) ''"))

Informasi lebih lengkap mengenai formula ini dapat dilihat langsung di dokumentasi yang disediakan oleh Google di link ini.

Komentar

Postingan populer dari blog ini

GOOGLEFINANCE(). Formula serbaguna untuk analisa saham di Google Sheets

Cara insert atau menyelipkan lebih dari 1 baris baru di Google Spreadsheet

Perjalanan Investasiku: From Zero to Not So Zero