Istilah dan konsep LookML

Halaman ini mendefinisikan istilah dan konsep inti berikut, yang kemungkinan akan sering Anda temui selama pengembangan LookML:

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 yang digunakan di seluruh Looker. Untuk ringkasan komprehensif tentang parameter LookML yang dapat Anda gunakan dalam project LookML, lihat halaman Referensi cepat LookML.

Lihat halaman dokumentasi Istilah dan konsep bersama Looker dan Looker Studio untuk mengetahui informasi tentang perbedaan antara istilah dan konsep serupa di Looker dan Looker Studio.

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 paling dasar, file ini menjelaskan hubungan antara tabel database Anda satu sama lain dan cara Looker menafsirkannya. File ini juga dapat menyertakan parameter LookML yang menentukan atau mengubah opsi yang ditampilkan di UI Looker. Setiap project LookML berada di repositori Git-nya 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 halaman dokumentasi Membuat model untuk mengetahui informasi tentang cara membuat project baru, dan lihat halaman dokumentasi Mengakses dan mengedit informasi project untuk mengetahui informasi tentang cara mengakses dan melakukan perubahan pada project LookML yang ada.

Bagian dari project

Project LookML dapat berisi model, tampilan, dan dasbor LookML, yang masing-masing terdiri dari elemen LookML lainnya.

Seperti yang ditunjukkan pada diagram, berikut adalah beberapa jenis file yang lebih umum dalam project LookML:

  • Model berisi informasi tentang tabel yang akan digunakan dan cara menggabungkannya. Di sini, Anda biasanya akan menentukan model, Jelajah, dan join-nya.
  • Tampilan berisi informasi tentang cara mengakses atau menghitung informasi dari setiap tabel (atau di beberapa tabel yang digabungkan). Di sini, Anda biasanya akan menentukan tampilan, dimensi dan ukurannya, serta kumpulan kolomnya.
  • Jelajahi sering kali ditentukan dalam file model, tetapi terkadang Anda memerlukan file Jelajahi terpisah untuk tabel turunan atau untuk extend atau meningkatkan kualitas Jelajahi di seluruh model.
  • File manifes dapat berisi petunjuk untuk menggunakan file yang diimpor dari project lain atau untuk setelan pelokalan project Anda.

Selain file model, tampilan, Jelajahi, dan manifes, project dapat memiliki jenis file lain yang terkait dengan hal-hal seperti dasbor bawaan, dokumentasi, pelokalan, dan lainnya. Lihat halaman dokumentasi File project LookML untuk mengetahui informasi selengkapnya tentang jenis file ini serta jenis file lain yang dapat Anda miliki dalam 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 paling umum untuk membuat file LookML adalah dengan membuat project LookML dari database Anda. Anda juga dapat membuat project kosong dan membuat file LookML-nya secara manual.

Saat Anda membuat project baru dari database, Looker akan membuat kumpulan file dasar pengukuran yang dapat Anda gunakan sebagai template untuk mem-build project:

  • Beberapa file tampilan, satu file untuk setiap tabel dalam database.
  • Satu file model. File model mendeklarasikan Jelajahi untuk setiap tampilan. Setiap deklarasi Jelajahi menyertakan logika join untuk menggabungkan tampilan apa pun yang dapat ditentukan Looker terkait dengan Jelajahi.

Dari sini, Anda dapat menyesuaikan project dengan menghapus tampilan dan Eksplorasi 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 Jelajahi dan join-nya. Selain itu, project biasanya berisi satu atau beberapa file tampilan, yang masing-masing berisi parameter yang menentukan tampilan tersebut dan kolomnya (termasuk dimensi dan ukuran) serta kumpulan kolom. Project juga dapat berisi file manifes project, yang memungkinkan Anda mengonfigurasi setelan tingkat project. Bagian ini menjelaskan struktur utama tersebut.

Model

Model adalah portal kustom ke dalam database, yang dirancang untuk memberikan eksplorasi data yang intuitif bagi pengguna bisnis tertentu. Beberapa model dapat ada untuk koneksi database yang sama dalam satu project LookML. Setiap model dapat mengekspos data yang berbeda kepada pengguna yang berbeda. Misalnya, agen penjualan memerlukan data yang berbeda dari eksekutif perusahaan, sehingga Anda mungkin akan mengembangkan dua model untuk menawarkan tampilan database yang sesuai untuk setiap pengguna.

Model menentukan koneksi ke satu database. Developer juga menentukan Jelajahi model dalam file model. Secara default, Jelajah diatur berdasarkan nama model tempatnya ditentukan. Pengguna Anda akan melihat model yang tercantum di menu Jelajahi.

Lihat halaman dokumentasi Jenis file dalam project LookML untuk mengetahui 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 mereferensikan tabel database pokok, tetapi juga dapat mewakili tabel turunan.

Tampilan dapat bergabung ke tampilan lain. Hubungan antar-tampilan biasanya ditentukan sebagai bagian dari deklarasi Jelajahi dalam file model.

Secara default, nama tampilan muncul di awal nama dimensi dan ukuran di tabel data Jelajahi. Konvensi penamaan ini memperjelas tampilan mana yang menjadi bagian dari kolom. Pada contoh berikut, nama tampilan Pesanan dan Pengguna dicantumkan sebelum nama kolom dalam tabel data:

Tabel data untuk contoh kueri dengan kolom Tanggal Pembuatan Pesanan, ID Pengguna, dan Jumlah Pesanan dipilih.

Lihat dokumentasi Jenis file dalam project LookML untuk mengetahui informasi selengkapnya tentang file tampilan, termasuk struktur dan sintaksis umum file tampilan.

Lihat halaman dokumentasi Parameter tampilan untuk mengetahui detail tentang parameter LookML yang dapat digunakan dalam file tampilan.

Eksplorasi

Jelajahi adalah tampilan yang dapat dikueri oleh pengguna. Anda dapat menganggap Jelajah sebagai titik awal untuk kueri atau, dalam istilah SQL, sebagai FROM dalam pernyataan SQL. Tidak semua penayangan adalah Jelajah, karena tidak semua penayangan menjelaskan entitas yang diminati. Misalnya, tampilan Negara Bagian yang sesuai dengan tabel pencarian untuk nama negara bagian tidak memerlukan Jelajah, karena pengguna bisnis tidak perlu mengkueri langsung. Di sisi lain, pengguna bisnis mungkin menginginkan cara untuk membuat kueri tampilan Pesanan, sehingga menentukan Jelajahi untuk Pesanan adalah hal yang wajar. Lihat halaman dokumentasi Melihat dan berinteraksi dengan Jelajah di Looker untuk mengetahui informasi tentang cara pengguna berinteraksi dengan Jelajah untuk membuat kueri data Anda.

Di Looker, pengguna dapat melihat Jelajah yang tercantum di menu Jelajah. Eksplorasi dicantumkan di bawah nama model yang terkait.

Secara umum, Jelajah dideklarasikan dalam file model dengan parameter explore. Dalam contoh file model berikut, orders Jelajahi untuk database e-commerce ditentukan dalam file model. Tampilan orders dan customers yang dirujuk 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} ;;
  }
}

Dalam contoh ini, parameter connection digunakan untuk menentukan koneksi database untuk model, dan parameter include digunakan untuk menentukan file yang akan tersedia untuk dirujuk oleh model.

Deklarasi explore dalam contoh ini juga menentukan hubungan join antar-tampilan. Untuk mengetahui detail tentang deklarasi join, buka bagian join di halaman ini. Buka halaman dokumentasi Parameter join untuk mengetahui detail selengkapnya tentang parameter LookML yang dapat digunakan dengan parameter join.

Kolom dimensi dan ukuran

Tampilan 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. Dapat berupa salah satu dari hal berikut:

  • Atribut, yang memiliki pengaitan langsung ke kolom dalam tabel pokok
  • Fakta atau nilai numerik
  • Nilai turunan, yang dihitung berdasarkan nilai kolom lain dalam satu baris

Di Looker, dimensi selalu muncul dalam klausa GROUP BY SQL yang dihasilkan Looker.

Misalnya, dimensi untuk tampilan Produk dapat mencakup nama produk, model produk, warna produk, harga produk, tanggal pembuatan produk, dan tanggal penghentian produk.

Pengukuran adalah kolom yang menggunakan fungsi agregat SQL, seperti COUNT, SUM, AVG, MIN, atau MAX. Setiap kolom yang dihitung berdasarkan nilai ukuran lainnya juga merupakan ukuran. Ukuran dapat digunakan untuk memfilter nilai yang dikelompokkan. Misalnya, ukuran untuk tampilan Penjualan dapat mencakup total item yang terjual (jumlah), total harga promo (jumlah), dan harga promo rata-rata (rata-rata).

Perilaku dan nilai yang diharapkan untuk kolom bergantung pada jenis yang dideklarasikan, 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 dicantumkan di halaman Jelajahi di pemilih kolom di sisi kiri halaman. Anda dapat meluaskan tampilan di pemilih kolom untuk menampilkan daftar kolom yang tersedia untuk dikueri dari tampilan tersebut.

Secara konvensional, kolom dideklarasikan sebagai bagian dari tampilan yang dimilikinya, yang disimpan dalam file tampilan. Contoh berikut menunjukkan beberapa deklarasi dimensi dan ukuran. Perhatikan penggunaan operator penggantian ($) untuk mereferensikan kolom tanpa menggunakan nama kolom SQL yang dicakup sepenuhnya.

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 dengan template.

Lihat halaman dokumentasi Parameter kolom untuk mengetahui detail lengkap tentang mendeklarasikan kolom dan berbagai setelan yang dapat diterapkan ke kolom tersebut.

Gabungan

Sebagai bagian dari deklarasi explore, setiap deklarasi join menentukan tampilan yang dapat digabungkan ke dalam Jelajahi. Saat pengguna membuat kueri yang menyertakan kolom dari beberapa tampilan, Looker akan otomatis membuat logika join SQL untuk menampilkan 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 Menggunakan join di LookML.

File manifes project

Project Anda mungkin berisi file manifes project, yang digunakan untuk setelan tingkat project seperti setelan untuk menentukan project lain yang akan diimpor ke project saat ini, menentukan konstanta LookML, menentukan setelan pelokalan model, dan menambahkan ekstensi serta 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 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 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 di file model untuk menambahkan file dari project eksternal tersebut ke project Anda 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 mengetahui informasi selengkapnya, lihat halaman dokumentasi Menlokalkan model LookML.

Set

Di Looker, set adalah daftar yang menentukan sekumpulan kolom yang digunakan bersama. Biasanya, set digunakan untuk menentukan kolom yang akan ditampilkan setelah pengguna melihat perincian data. Set penelusuran ditentukan berdasarkan kolom, sehingga Anda mendapatkan kontrol penuh atas data yang ditampilkan saat pengguna mengklik nilai dalam tabel atau dasbor. Set juga dapat digunakan sebagai fitur keamanan untuk menentukan grup kolom yang terlihat oleh pengguna tertentu. Contoh berikut menunjukkan deklarasi set dalam tampilan order_items, yang menentukan kolom yang mencantumkan detail yang relevan tentang item yang dibeli. Perhatikan bahwa kolom referensi yang ditetapkan 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 set.

Melihat perincian

Di Looker, Anda dapat mengonfigurasi kolom agar pengguna dapat melihat perincian data lebih lanjut. Penelusuran 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 melakukan pengelompokan berdasarkan dimensi, kueri baru akan memfilter berdasarkan nilai yang dikelompokkan. Misalnya, jika Anda mengklik tanggal tertentu dalam kueri pesanan pelanggan berdasarkan tanggal, kueri baru hanya akan menampilkan pesanan pada tanggal tertentu tersebut.
  • Saat mengelompokkan berdasarkan ukuran, kueri baru akan menampilkan set data yang berkontribusi pada ukuran tersebut. Misalnya, saat mengelompokkan jumlah, kueri baru akan menampilkan baris untuk menghitung jumlah tersebut. Saat mengelompokkan berdasarkan ukuran maksimum, minimum, dan rata-rata, pengelompokan masih menampilkan semua baris yang berkontribusi pada ukuran tersebut. Artinya, pengelompokan berdasarkan ukuran maksimum, misalnya, akan menampilkan semua baris yang digunakan untuk menghitung nilai maksimum, bukan hanya satu baris untuk nilai maksimum.

Kolom yang akan ditampilkan untuk kueri perincian baru dapat ditentukan oleh set, 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 adalah tabel fisik dengan kumpulan kolomnya sendiri. Tabel turunan ditampilkan sebagai tampilannya sendiri, dan menentukan dimensi dan ukuran dengan cara yang sama seperti tampilan konvensional. Tampilan untuk tabel turunan dapat dikueri dan digabungkan ke dalam tampilan lain, seperti tampilan lainnya.

Tabel turunan juga dapat ditentukan sebagai persistent derived table (PDT), yang merupakan tabel turunan yang ditulis ke dalam skema awal di database Anda dan 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 yang akan digunakan untuk model. Jika Anda membuat project LookML dari database, Looker akan otomatis mengisi parameter connection dalam file model.

Kepekaan huruf besar/kecil

LookML peka huruf besar/kecil, jadi pastikan untuk mencocokkan huruf besar/kecil saat merujuk ke elemen LookML. Looker akan memberi tahu Anda jika Anda 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 mereferensikan Jelajah tersebut. Dalam contoh ini, IDE Looker menampilkan peringatan bahwa Jelajahi e_FLIGHTS_pdt tidak ada. Selain itu, IDE menyarankan nama Jelajah yang ada, yaitu e_flights_pdt:

Namun, jika project Anda berisi e_FLIGHTS_pdt dan e_flights_pdt, IDE Looker tidak akan dapat mengoreksi Anda, jadi Anda harus memastikan versi mana yang Anda inginkan. Secara umum, sebaiknya 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 memiliki folder bernama Views, Anda harus menggunakan kapitalisasi yang sama ini di parameter include. Sekali lagi, IDE Looker akan menunjukkan error jika kapitalisasi Anda tidak cocok dengan folder yang ada dalam project:

IDE Looker menampilkan peringatan yang menyatakan bahwa penyertaan tidak cocok dengan file apa pun.