Halaman ini mendefinisikan istilah dan konsep inti berikut, yang mungkin akan sering Anda temui selama pengembangan LookML:
- Project LookML
- Struktur LookML utama (seperti model, tampilan, dan Jelajah)
- Tabel turunan
- Koneksi database
- Peka huruf besar/kecil
Tampilan dan dasbor yang ditentukan pengguna tidak dijelaskan di halaman ini, karena pengguna membuatnya tanpa menggunakan LookML. Namun, kuerinya bergantung pada elemen LookML pokok yang dibahas di halaman ini.
Lihat Glosarium Looker untuk mengetahui daftar istilah dan definisi komprehensif yang digunakan di seluruh Looker. Untuk ringkasan komprehensif tentang parameter LookML yang dapat Anda gunakan dalam project LookML, lihat halaman referensi cepat LookML.
project LookML
Di Looker, project adalah kumpulan file yang mendeskripsikan objek, koneksi database, dan elemen antarmuka pengguna yang akan digunakan untuk menjalankan kueri SQL. Pada tingkat yang paling dasar, file tersebut menjelaskan hubungan tabel database Anda dan cara Looker menafsirkannya. File tersebut juga dapat menyertakan parameter LookML yang menentukan atau mengubah opsi yang ditampilkan di UI Looker. Setiap project LookML berada di repositori Git miliknya sendiri untuk kontrol versi.
Setelah menghubungkan Looker ke database, Anda dapat menentukan koneksi database yang akan digunakan untuk project Looker.
Anda dapat mengakses project dari menu Develop di Looker (lihat Mengakses file project untuk mengetahui detail dan opsi lainnya).
Lihat Membuat project LookML baru untuk informasi tentang cara membuat project baru, dan lihat Mengakses dan mengedit informasi project untuk informasi tentang cara mengakses dan membuat perubahan pada project LookML yang ada.
Bagian-bagian dari sebuah project
Seperti yang ditampilkan dalam diagram di atas, berikut ini adalah beberapa jenis file yang lebih umum dalam project LookML:
- model berisi informasi tentang tabel mana yang akan digunakan dan bagaimana tabel tersebut harus digabungkan. Di sini, Anda biasanya akan menentukan model, Jelajah, dan gabungannya.
- Tampilan berisi informasi tentang cara mengakses atau menghitung informasi dari setiap tabel (atau dari beberapa tabel gabungan). Di sini Anda biasanya akan menentukan tampilan, dimensi dan ukurannya, serta kumpulan kolomnya.
- Jelajah sering kali ditentukan dalam file model, tetapi terkadang Anda memerlukan file Jelajah terpisah untuk tabel turunan atau untuk memperluas atau menyaring Jelajah di seluruh model.
- File manifes dapat berisi petunjuk penggunaan file yang diimpor dari project lain atau untuk setelan pelokalan project Anda.
Selain jenis file di atas, project dapat memiliki jenis file lain yang terkait dengan hal-hal seperti dasbor bawaan, dokumentasi, pelokalan, dan banyak lagi. Lihat halaman dokumentasi file project LookML untuk informasi selengkapnya tentang jenis file ini, serta jenis file lainnya yang dapat Anda miliki di project LookML.
File-file ini bersama-sama membentuk satu project. Jika Anda menggunakan Git untuk kontrol versi, setiap project biasanya dicadangkan oleh repositori Git-nya sendiri.
Dari mana project dan file LookML berasal?
Cara yang paling umum untuk membuat file LookML adalah dengan membuat project LookML dari database Anda. Anda juga dapat membuat project kosong dan membuat file LookML secara manual, atau Anda dapat membuat project dengan meng-clone repositori Git yang ada.
Saat Anda membuat project baru dari database, Looker akan membuat kumpulan file dasar yang dapat digunakan sebagai template untuk membuat project:
- Beberapa file view, satu file untuk setiap tabel dalam database.
- Satu file model. File model mendeklarasikan Explore untuk setiap tampilan. Setiap deklarasi Jelajah menyertakan logika
join
untuk bergabung dengan tampilan apa pun yang dapat ditentukan oleh Looker terkait dengan Jelajah tersebut.
Dari sini, Anda dapat menyesuaikan project dengan menghapus tampilan dan Jelajah yang tidak diinginkan, serta dengan menambahkan dimensi dan ukuran kustom.
Struktur LookML utama
Seperti yang ditunjukkan dalam bagian diagram project, project biasanya berisi satu atau beberapa file model, yang berisi parameter yang menentukan model serta Jelajah dan gabungannya. Selain itu, project biasanya berisi satu atau beberapa file tampilan, masing-masing berisi parameter yang menentukan tampilan tersebut dan kolomnya (termasuk dimensi dan ukuran) serta kumpulan kolom. Project ini juga dapat berisi file manifes project, yang memungkinkan Anda mengonfigurasi setelan level project. Bagian ini menjelaskan struktur-struktur utama tersebut.
Model
Model adalah portal kustom ke database, yang dirancang untuk menyediakan eksplorasi data intuitif bagi pengguna bisnis tertentu. Beberapa model dapat muncul untuk koneksi database yang sama dalam satu project LookML. Setiap model dapat mengekspos data yang berbeda kepada pengguna yang berbeda. Misalnya, agen penjualan membutuhkan data yang berbeda dari eksekutif perusahaan, dan Anda mungkin akan mengembangkan dua model untuk menawarkan tampilan {i>database<i} yang sesuai untuk setiap pengguna.
Model menentukan koneksi ke satu database. Developer juga menentukan Jelajah model dalam file model. Secara default, Jelajah diatur berdasarkan nama model yang digunakan untuk menentukannya. Pengguna Anda akan melihat model yang tercantum di menu Jelajahi.
Lihat halaman dokumentasi Jenis file di project LookML untuk informasi selengkapnya tentang file model, termasuk struktur dan sintaksis umum file model.
Lihat halaman dokumentasi Parameter model untuk mengetahui detail tentang parameter LookML yang dapat digunakan dalam file model.
Lihat
Deklarasi tampilan menentukan daftar kolom (dimensi atau ukuran) dan penautannya ke tabel pokok atau tabel turunan. Di LookML, tampilan biasanya merujuk ke tabel database pokok, tetapi juga dapat merepresentasikan tabel turunan.
Sebuah tampilan dapat bergabung dengan tampilan lainnya. Hubungan antara tampilan biasanya didefinisikan sebagai bagian dari deklarasi Explore dalam file model.
Secara default, nama tampilan muncul di awal dimensi dan nama ukuran di tabel data Eksplorasi. Konvensi penamaan ini memperjelas tampilan mana yang memiliki {i>field<i} tersebut. Pada contoh berikut, nama tampilan Orders dan Users dicantumkan sebelum nama kolom di tabel data:
Lihat dokumentasi Jenis file dalam project LookML untuk informasi selengkapnya tentang file tampilan, termasuk struktur dan sintaksis umum file tampilan.
Lihat halaman dokumentasi Lihat parameter untuk mengetahui detail tentang parameter LookML yang dapat digunakan di file tampilan.
Eksplorasi
Jelajahi adalah tampilan yang dapat dikueri pengguna. Anda dapat menganggap Explore sebagai titik awal untuk kueri atau, dalam istilah SQL, sebagai FROM
dalam pernyataan SQL. Tidak semua penayangan merupakan Jelajah, karena tidak semua penayangan menjelaskan entitas yang diminati. Misalnya, tampilan States yang sesuai dengan tabel pemeta untuk nama negara bagian tidak memerlukan Explore, karena pengguna bisnis tidak perlu mengkuerinya secara langsung. Di sisi lain, pengguna bisnis mungkin menginginkan cara untuk mengkueri tampilan Pesanan, sehingga menentukan Penjelajahan untuk Pesanan adalah hal yang wajar. Lihat halaman dokumentasi Melihat dan berinteraksi dengan Jelajah di Looker untuk mendapatkan informasi tentang cara pengguna berinteraksi dengan Jelajah untuk mengkueri data Anda.
Di Looker, pengguna dapat melihat Jelajah tercantum di menu Jelajahi. Jelajah tercantum di bawah nama model tersebut.
Berdasarkan konvensi, Jelajah dideklarasikan dalam file model dengan parameter explore
. Dalam contoh file model berikut, Jelajah orders
untuk database e-commerce ditentukan dalam file model. Tampilan orders
dan customers
yang direferensikan dalam deklarasi explore
ditentukan di tempat lain, dalam file tampilan masing-masing.
connection: order_database
include: "filename_pattern"
explore: orders {
join: customers {
sql_on: ${orders.customer_id} = ${customers.id} ;;
}
}
Pada contoh di atas, parameter connection
digunakan untuk menentukan koneksi database untuk model, dan parameter include
digunakan untuk menentukan file yang akan tersedia untuk referensi model.
Deklarasi explore
pada contoh di atas juga menentukan hubungan join antar-tampilan. Untuk mengetahui detail tentang deklarasi join
, buka bagian tentang join di halaman ini. Buka halaman dokumentasi Parameter gabungan untuk detail selengkapnya tentang parameter LookML yang dapat digunakan dengan parameter join
.
Kolom dimensi dan pengukuran
View berisi kolom, sebagian besar dimensi dan ukuran, yang merupakan elemen dasar untuk kueri Looker.
Di Looker, dimensi adalah kolom yang dapat dikelompokkan dan dapat digunakan untuk memfilter hasil kueri. URL dapat berupa salah satu dari hal berikut:
- Atribut, yang memiliki hubungan langsung ke kolom dalam tabel pokok
- Fakta atau nilai numerik
- Nilai turunan, dihitung berdasarkan nilai kolom lain dalam satu baris
Di Looker, dimensi selalu muncul dalam klausa GROUP BY
dari SQL yang dihasilkan Looker.
Misalnya, dimensi untuk tampilan Produk mungkin mencakup nama produk, model produk, warna produk, harga produk, tanggal pembuatan produk, dan tanggal akhir siklus proses produk.
Ukuran adalah kolom yang menggunakan fungsi agregat SQL, seperti COUNT
, SUM
, AVG
, MIN
, atau MAX
. Setiap kolom yang dihitung berdasarkan nilai nilai ukuran lainnya juga merupakan ukuran. Ukuran dapat digunakan untuk memfilter nilai yang dikelompokkan. Misalnya, ukuran untuk tampilan Penjualan mungkin mencakup total item terjual (jumlah), total harga promo (jumlah), dan harga promo rata-rata (rata-rata).
Perilaku dan nilai yang diharapkan untuk sebuah kolom bergantung pada jenis yang dinyatakan, seperti string
, number
, atau time
. Untuk ukuran, jenis mencakup fungsi agregat, seperti sum
dan percent_of_previous
. Untuk mengetahui detailnya, lihat jenis dimensi dan jenis pengukuran.
Di Looker, kolom tercantum di halaman Jelajahi pada pemilih kolom di sisi kiri halaman. Anda dapat meluaskan tampilan di pemilih kolom guna menampilkan daftar kolom yang tersedia untuk kueri dari tampilan tersebut.
Berdasarkan konvensi, kolom dideklarasikan sebagai bagian dari tampilan tempatnya berada, yang disimpan dalam file tampilan. Contoh berikut menunjukkan beberapa deklarasi dimensi dan pengukuran. Perhatikan penggunaan operator substitusi ($
) untuk mereferensikan kolom tanpa menggunakan nama kolom SQL dengan cakupan penuh.
Berikut adalah beberapa contoh deklarasi dimensi dan ukuran:
view: orders {
dimension: id {
primary_key: yes
type: number
sql: ${TABLE}.id ;;
}
dimension: customer_id {
sql: ${TABLE}.customer_id ;;
}
dimension: amount {
type: number
value_format: "0.00"
sql: ${TABLE}.amount ;;
}
dimension_group: created {
type: time
timeframes: [date, week]
sql: ${TABLE}.created_at ;;
}
measure: count {
type: count # creates sql COUNT(orders.id)
sql: ${id} ;;
}
measure: total_amount {
type: sum # creates sql SUM(orders.amount)
sql: ${amount} ;;
}
}
Anda juga dapat menentukan dimension_group
, yang membuat beberapa dimensi terkait waktu sekaligus, dan kolom filter
, yang memiliki berbagai kasus penggunaan lanjutan seperti filter template.
Lihat halaman dokumentasi Parameter kolom untuk mengetahui detail selengkapnya tentang mendeklarasikan kolom dan berbagai setelan yang dapat diterapkan.
Gabungan
Sebagai bagian dari deklarasi explore
, setiap deklarasi join
menentukan tampilan yang dapat digabungkan ke Explore. Saat pengguna membuat kueri yang menyertakan kolom dari beberapa tampilan, Looker akan otomatis membuat logika join SQL untuk memasukkan semua kolom dengan benar.
Berikut adalah contoh join dalam deklarasi explore
:
# file: ecommercestore.model.lookml
connection: order_database
include: "filename_pattern" # include all the views
explore: orders {
join: customers {
sql_on: ${orders.customer_id} = ${customers.id} ;;
}
}
Untuk mengetahui detail selengkapnya, buka halaman dokumentasi Bekerja dengan penggabungan di LookML.
File manifes project
Project Anda mungkin berisi file manifes project, yang digunakan untuk setelan level project seperti untuk menentukan project lain yang akan diimpor ke project saat ini, menentukan konstanta LookML, menentukan setelan pelokalan model, dan menambahkan ekstensi dan visualisasi kustom ke project Anda.
Setiap project hanya dapat memiliki satu file manifes. File harus diberi nama manifest.lkml
dan berada di tingkat root repositori Git Anda. Saat Anda menggunakan folder di IDE, pastikan file manifest.lkml
disimpan di tingkat root struktur direktori project Anda.
Untuk mengimpor file LookML dari project lain, gunakan file manifes project untuk menentukan nama project Anda saat ini dan lokasi project eksternal, yang dapat disimpan secara lokal atau jarak jauh. Contoh:
# This project
project_name: "my_project"
# The project to import
local_dependency: {
project: "my_other_project"
}
remote_dependency: ga_360_block {
url: "https://github.com/llooker/google_ga360"
ref: "4be130a28f3776c2bf67a9acc637e65c11231bcc"
}
Setelah menentukan project eksternal dalam file manifes project, Anda dapat menggunakan parameter include
dalam file model untuk menambahkan file dari project eksternal tersebut ke project saat ini. Contoh:
include: "//my_other_project/imported_view.view"
include: "//ga_360_block/*.view"
Untuk informasi selengkapnya, lihat halaman dokumentasi Mengimpor file dari project lain.
Untuk menambahkan pelokalan ke model Anda, gunakan file manifes project untuk menentukan setelan pelokalan default. Contoh:
localization_settings: {
default_locale: en
localization_level: permissive
}
Menentukan setelan pelokalan default adalah salah satu langkah dalam melokalkan model Anda. Untuk informasi selengkapnya, lihat halaman dokumentasi Melokalkan model LookML Anda.
Set
Di Looker, set adalah daftar yang menentukan grup kolom yang digunakan bersama. Biasanya, kumpulan digunakan untuk menentukan kolom yang akan ditampilkan setelah pengguna melihat perincian data. Kumpulan penelusuran ditentukan berdasarkan kolom per kolom, sehingga Anda mendapatkan kontrol penuh atas data yang ditampilkan saat pengguna mengklik nilai di tabel atau dasbor. Kumpulan juga dapat digunakan sebagai fitur keamanan untuk menentukan grup kolom yang dapat dilihat oleh pengguna tertentu.
Contoh berikut menunjukkan deklarasi yang ditetapkan dalam tampilan order_items
, yang menentukan kolom yang mencantumkan detail yang relevan tentang item yang dibeli. Perhatikan bahwa kumpulan tersebut merujuk kolom dari tampilan lain dengan menentukan cakupan.
set: order_items_stats_set {
fields: [
id, # scope defaults to order_items view
orders.created_date, # scope is "orders" view
orders.id,
users.name,
users.history, # show all products this user has purchased
products.item_name,
products.brand,
products.category,
total_sale_price
]
}
Lihat halaman dokumentasi parameter set
untuk mengetahui detail penggunaan lengkap terkait kumpulan.
Lihat perincian
Di Looker, Anda dapat mengonfigurasi kolom sehingga pengguna dapat melihat perincian data lebih lanjut. Pengeboran berfungsi di tabel hasil kueri dan di dasbor. Penelusuran akan memulai kueri baru yang dibatasi oleh nilai yang Anda klik.
Perilaku penelusuran berbeda untuk dimensi dan ukuran:
- Saat Anda melihat perincian dimensi, kueri baru akan memfilter nilai yang ditelusuri. Misalnya, jika Anda mengklik tanggal tertentu dalam kueri pesanan pelanggan menurut tanggal, kueri baru akan menampilkan pesanan hanya pada tanggal tersebut.
- Saat menelusuri ukuran, kueri baru akan menampilkan set data yang berkontribusi pada ukuran tersebut. Misalnya, saat melihat perincian jumlah, kueri baru akan menampilkan baris untuk menghitung jumlah tersebut. Saat melihat perincian ukuran maks, min, dan rata-rata, pemboran masih menampilkan semua baris yang berkontribusi pada ukuran tersebut. Ini berarti bahwa melihat perincian ukuran maksimum, misalnya, menampilkan semua baris yang digunakan untuk menghitung nilai maksimum, bukan hanya satu baris untuk nilai maksimum.
Kolom yang akan ditampilkan untuk kueri penelusuran baru dapat ditentukan dengan kumpulan, atau dapat ditentukan oleh parameter drill_fields
(untuk kolom) atau parameter drill_fields
(untuk tampilan).
Tabel turunan
Tabel turunan adalah kueri yang hasilnya digunakan seolah-olah merupakan tabel sebenarnya dalam database. Tabel turunan dibuat menggunakan parameter derived_table
dalam deklarasi view
. Looker mengakses tabel turunan seolah-olah tabel tersebut merupakan tabel fisik dengan kumpulan kolomnya sendiri. Tabel turunan diekspos sebagai tampilannya sendiri, dan mendefinisikan dimensi dan ukuran dengan cara yang sama seperti tampilan konvensional. Tampilan untuk tabel turunan dapat dikueri dan digabungkan dengan tampilan lain, sama seperti tampilan lainnya.
Tabel turunan juga dapat didefinisikan sebagai tabel turunan persisten (PDT), yaitu tabel turunan yang ditulis ke dalam skema awal di database Anda dan secara otomatis dibuat ulang sesuai jadwal yang Anda tentukan dengan strategi persistensi.
Lihat halaman dokumentasi Tabel turunan di Looker untuk mengetahui informasi selengkapnya.
Koneksi database
Elemen penting lainnya dari project LookML adalah koneksi database yang digunakan Looker untuk menjalankan kueri di database Anda. Admin Looker menggunakan halaman Koneksi untuk mengonfigurasi koneksi database, dan developer LookML menggunakan parameter connection
dalam file model untuk menentukan koneksi mana yang akan digunakan untuk model. Jika Anda membuat project LookML dari database, Looker akan otomatis mengisi parameter connection
di file model.
Kepekaan huruf besar/kecil
LookML peka huruf besar/kecil, jadi pastikan untuk mencocokkan huruf besar/kecil saat merujuk ke elemen LookML. Looker memberi tahu jika Anda telah merujuk ke elemen yang tidak ada.
Misalnya, Anda memiliki Jelajah bernama e_flights_pdt
, dan developer LookML menggunakan kapitalisasi yang salah (e_FLIGHTS_pdt
) untuk merujuk Jelajah tersebut. Dalam contoh ini, Looker IDE menampilkan peringatan bahwa Jelajah e_FLIGHTS_pdt
tidak ada. Selain itu, IDE menyarankan nama Jelajah yang sudah ada, yaitu e_flights_pdt
:
Namun, jika project Anda berisi e_FLIGHTS_pdt
dan e_flights_pdt
, Looker IDE tidak akan dapat mengoreksi Anda, jadi Anda harus yakin versi mana yang diinginkan. Secara umum, sebaiknya tetap gunakan huruf kecil saat memberi nama objek LookML.
Nama folder IDE juga peka huruf besar/kecil. Anda harus mencocokkan kapitalisasi nama folder setiap kali menentukan jalur file. Misalnya, jika Anda memiliki folder bernama Views
, Anda harus menggunakan huruf besar yang sama ini di parameter include
. Sekali lagi, Looker IDE akan menunjukkan error jika kapitalisasi Anda tidak cocok dengan folder yang ada di project Anda: