LookML, singkatan dari Looker Modeling Language, adalah bahasa yang digunakan di Looker untuk membuat model data semantik. LookML dapat digunakan untuk menggambarkan dimensi, agregat, kalkulasi, dan hubungan data dalam {i>database<i} SQL. Looker menggunakan model yang ditulis dalam LookML untuk membuat kueri SQL terhadap database tertentu.
LookML adalah bahasa dependensi seperti make, yang bukan bahasa imperatif seperti C atau Ruby. LookML menyediakan tipe data dan sintaks yang telah ditentukan untuk pemodelan data. Anda tidak memerlukan pengalaman sebelumnya dengan bahasa pemrograman untuk memahami LookML. LookML tidak bergantung pada dialek SQL tertentu, dan mengenkapsulasi ekspresi SQL untuk mendukung implementasi SQL apa pun.
Untuk analis data, LookML mendukung gaya DRY ("jangan ulangi sendiri"), yang berarti Anda menulis ekspresi SQL sekali, di satu tempat, dan Looker menggunakan kode berulang kali untuk menghasilkan kueri SQL ad hoc. Pengguna bisnis kemudian dapat menggunakan hasilnya untuk membangun kueri kompleks di Looker, dengan fokus hanya pada konten yang mereka butuhkan, bukan kompleksitas struktur SQL.
project LookML
LookML ditentukan dalam project. Project LookML adalah kumpulan file yang mencakup setidaknya file model dan tampilan, serta jenis file lainnya secara opsional, yang biasanya dikontrol versi bersama melalui repositori Git. File model berisi informasi tentang tabel mana yang akan digunakan project dan cara menggabungkan tabel tersebut. File tampilan menjelaskan cara informasi dihitung untuk setiap tabel (atau pada beberapa tabel jika penggabungan mengizinkan hal ini).
LookML memisahkan struktur dari konten, sehingga struktur kueri (bagaimana tabel digabungkan) tidak bergantung pada konten kueri (kolom yang akan diakses, kolom turunan, fungsi agregat untuk menghitung, dan memfilter ekspresi yang akan diterapkan).
Kueri Looker didasarkan pada file project LookML. Analis data menggunakan LookML untuk membuat dan memelihara model data yang mendefinisikan struktur data dan aturan bisnis untuk data yang sedang dianalisis. Generator SQL Looker menerjemahkan LookML menjadi SQL, yang memungkinkan pengguna bisnis membuat kueri tanpa menulis LookML atau SQL.
Pengguna bisnis menggunakan pembuat kueri Looker, atau antarmuka Explore, untuk membuat kueri yang didasarkan pada model data yang ditentukan analis Looker. Pengguna dapat memilih dimensi, ukuran, dan filter untuk membuat kueri kustom yang didasarkan pada pertanyaannya sendiri dan untuk menghasilkan insight mereka sendiri.
Saat pengguna membuat kueri, kueri tersebut dikirim ke generator SQL Looker, yang menerjemahkan kueri tersebut menjadi SQL. Kueri SQL dijalankan terhadap database, lalu Looker menampilkan hasil berformat kepada pengguna di antarmuka Eksplorasi. Pengguna kemudian dapat memvisualisasikan hasil dan menghasilkan insight.
Untuk detail selengkapnya tentang elemen LookML dasar dalam sebuah project dan bagaimana mereka saling terkait, lihat istilah dan konsep LookML.
Apa yang dilihat pengguna
Cara project disiapkan, dan konten spesifik filenya, menentukan apa yang dilihat pengguna dan cara mereka dapat berinteraksi dengan Looker.
- Panel Eksplorasi di panel navigasi kiri disusun berdasarkan nama model. Di bawah setiap nama model terdapat daftar Jelajah yang tersedia dan ditentukan dalam model tersebut.
- Pengguna dapat menelusuri Jelajah tertentu.
Developer dapat menentukan deskripsi untuk Jelajah, yang dapat dilihat pengguna dengan mengarahkan kursor ke nama Jelajah di menu Jelajahi.
Panel pemilih kolom disusun berdasarkan nama tampilan. Di bawah setiap nama tampilan, terdapat daftar kolom yang tersedia dari tabel yang disertakan dalam tampilan tersebut. Sebagian besar penayangan menampilkan dimensi dan ukuran. Contoh ini memilih dimensi Bulan dari dalam grup dimensi Tanggal Dikembalikan, yang ditentukan dalam file tampilan.
Pengguna dapat memilih beberapa ukuran yang menjadi dasar kueri.
Pengguna dapat menerapkan opsi seperti filter dan pivot di panel pemilih kolom.
Pengguna dapat menyaring istilah kueri.
Pengguna dapat memilih jenis visualisasi untuk diterapkan pada hasil kueri.
Menjalankan Explore ini menghasilkan kueri SQL yang menampilkan tabel data dan visualisasi dari total harga promo dan total margin kotor pesanan yang ditampilkan dari tahun lalu.
Contoh kode
Contoh kode berikut menunjukkan project LookML minimal untuk toko e-commerce, yang memiliki file model — ecommercestore.model.lkml
— dan dua file tampilan — orders.view.lkml
dan customers.view.lkml
:
######################################
# FILE: ecommercestore.model.lkml #
# Define the explores and join logic #
######################################
connection: order_database
include: "*.view.lkml"
explore: orders {
join: customers {
sql_on: ${orders.customer_id} = ${customers.id} ;;
}
}
##########################################################
# FILE: orders.view.lkml #
# Define the dimensions and measures for the ORDERS view #
##########################################################
view: orders {
dimension: id {
primary_key: yes
type: number
sql: ${TABLE}.id ;;
}
dimension: customer_id { # field: orders.customer_id
sql: ${TABLE}.customer_id ;;
}
dimension: amount { # field: orders.amount
type: number
value_format: "0.00"
sql: ${TABLE}.amount ;;
}
dimension_group: created { # generates fields:
type: time # orders.created_time, orders.created_date
timeframes: [time, date, week, month] # orders.created_week, orders.created_month
sql: ${TABLE}.created_at ;;
}
measure: count { # field: orders.count
type: count # creates a sql COUNT(*)
drill_fields: [drill_set*] # list of fields to show when someone clicks 'ORDERS Count'
}
measure: total_amount {
type: sum
sql: ${amount} ;;
}
set: drill_set {
fields: [id, created_time, customers.name, amount]
}
}
#############################################################
# FILE: customers.view.lkml #
# Define the dimensions and measures for the CUSTOMERS view #
#############################################################
view: customers {
dimension: id {
primary_key: yes
type: number
sql: ${TABLE}.id ;;
}
dimension: city { # field: customers.city
sql: ${TABLE}.city ;;
}
dimension: state { # field: customers.state
sql: ${TABLE}.state ;;
}
dimension: name {
sql: CONCAT(${TABLE}.firstname, " ", ${TABLE}.lastname) ;;
}
measure: count { # field: customers.count
type: count # creates a sql COUNT(*)
drill_fields: [drill_set*] # fields to show when someone clicks 'CUSTOMERS Count'
}
set: drill_set { # set: customers.drill_set
fields: [id, state, orders.count] # list of fields to show when someone clicks 'CUSTOMERS Count'
}
}
Referensi lain
Jika Anda baru mengenal pengembangan LookML, pertimbangkan untuk menggunakan referensi yang dijelaskan di bagian berikut ini untuk mempercepat pembelajaran Anda:
- Mendapatkan akses ke lingkungan pembelajaran Looker
- Pelajari cara menggunakan Looker untuk membuat kueri dan menjelajahi data
- Tinjau dasar-dasar SQL sebelum mendalami LookML
- Mempelajari dasar-dasar LookML
Mendapatkan akses ke lingkungan pembelajaran Looker
Lihat kursus di Google Cloud Skills Boost.
Pelajari cara menggunakan Looker untuk membuat kueri dan menjelajahi data
Mengetahui cara mengeksplorasi data di Looker akan banyak membantu saat Anda membuat model data di LookML. Jika Anda tidak terbiasa menggunakan Looker untuk membuat kueri, memfilter, dan melihat perincian data, sebaiknya baca referensi berikut:
- Mulai dengan tutorial Mengambil dan membuat diagram data. Link di bagian bawah setiap halaman akan memandu Anda melalui urutan fitur Looker yang paling penting.
- Misi meningkatkan keterampilan Menjelajahi Data dengan Looker akan memandu Anda mempelajari dasar-dasar penjelajahan.
Tinjau dasar-dasar SQL sebelum mendalami LookML
Menulis LookML memerlukan pemahaman tentang kueri SQL. Anda tidak perlu menjadi pakar SQL, dan bahkan pemula dapat membuat model Looker yang andal. Tapi, secara umum, semakin mendalam Anda masuk dalam LookML, semakin banyak manfaat yang diperoleh dari pengetahuan SQL yang lebih dalam.
Jika Anda membutuhkan penyegaran SQL, berikut adalah beberapa referensi favorit kami:
- Tutorial SQL interaktif Khan Academy's SQL Lessons.
- Tutorial SQL interaktif SQLZoo
- Buku Sams Teach Yourself SQL in 10 Minutes oleh Ben Forta
Mempelajari dasar-dasar LookML
Referensi ini akan mempercepat pengetahuan Anda terkait LookML. Gunakan akun pembelajaran Anda untuk bereksperimen dengan berbagai pola desain.
- Mulai dengan istilah dan konsep LookML.
- Lanjutkan ke Cara Looker membuat konsep SQL dan konsep LookML Lanjutan.
- Setelah Anda memahami LookML dan SQL, baca fitur lanjutan kami seperti tabel turunan dan filter template.
Setelah Anda mempelajari dasar-dasar LookML, lihat halaman berikut ini untuk ringkasan berbagai jenis parameter LookML:
- Parameter model
- Mempelajari parameter
- Parameter penggabungan
- Lihat parameter
- Parameter kolom
- Parameter dasbor