Istilah dan konsep LookML

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

Look dan dasbor yang ditentukan pengguna tidak dijelaskan di halaman ini, karena pengguna membuatnya tanpa menggunakan LookML. Namun, kueri mereka bergantung pada elemen LookML pokok yang dibahas di halaman ini.

Lihat glosarium Looker untuk mengetahui daftar lengkap 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 menjelaskan objek, koneksi database, dan elemen antarmuka pengguna yang akan digunakan untuk menjalankan kueri SQL. Pada tingkat yang paling dasar, file ini menjelaskan hubungan antar-tabel database dan cara Looker harus menafsirkannya. File 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.

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 membuat perubahan pada project LookML yang ada.

Bagian-bagian project

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

Seperti yang ditunjukkan dalam 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 gabungannya.
  • Tampilan berisi informasi tentang cara mengakses atau menghitung informasi dari setiap tabel (atau di beberapa tabel gabungan). Di sini, Anda biasanya akan menentukan tampilan, dimensi dan ukurannya, serta set kolomnya.
  • Eksplorasi sering kali ditentukan dalam file model, tetapi terkadang Anda memerlukan file Eksplorasi terpisah untuk tabel turunan atau untuk memperluas atau memperbaiki Eksplorasi 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 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 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 serangkaian file dasar yang dapat Anda gunakan sebagai template untuk membangun project:

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

Dari sini, Anda dapat menyesuaikan project dengan menghapus tampilan dan Eksplorasi yang tidak diinginkan serta menambahkan dimensi dan ukuran kustom.

Struktur LookML utama

Seperti yang ditunjukkan dalam diagram bagian project, project biasanya berisi satu atau beberapa file model, yang berisi parameter yang menentukan model serta Eksplorasi dan gabungannya. Selain itu, project biasanya berisi satu atau beberapa file tampilan, yang masing-masing berisi parameter yang menentukan tampilan 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 yang disesuaikan 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 dengan eksekutif perusahaan, sehingga Anda mungkin mengembangkan dua model untuk menawarkan tampilan database yang sesuai untuk setiap pengguna.

Model menentukan koneksi ke satu database. Developer juga menentukan Jelajah model dalam file model. Secara default, Eksplorasi diatur berdasarkan nama model tempat Eksplorasi tersebut ditentukan. Pengguna Anda 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 keterkaitannya dengan tabel pokok atau tabel turunan. Di LookML, tampilan biasanya merujuk ke tabel database pokok, tetapi juga dapat merepresentasikan tabel turunan.

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

Secara default, nama tampilan muncul di awal nama dimensi dan ukuran dalam tabel data Jelajahi. Konvensi penamaan ini memperjelas tampilan tempat kolom berada. Dalam contoh berikut, nama tampilan Orders dan Users dicantumkan sebelum nama kolom dalam tabel data:

Tabel data untuk contoh kueri dengan kolom Orders Created Date, Users ID, dan Orders Count yang 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.

Jelajahi

Eksplorasi adalah tampilan yang dapat dikueri pengguna. Anda dapat menganggap Eksplorasi sebagai titik awal untuk kueri atau, dalam istilah SQL, sebagai FROM dalam pernyataan SQL. Tidak semua penayangan adalah Eksplorasi, karena tidak semua penayangan menjelaskan entitas yang diminati. Misalnya, tampilan Negara Bagian yang sesuai dengan tabel lookup untuk nama negara bagian tidak memerlukan Eksplorasi, karena pengguna bisnis tidak perlu mengkuerinya secara langsung. Di sisi lain, pengguna bisnis mungkin menginginkan cara untuk membuat kueri tampilan Pesanan, sehingga menentukan Eksplorasi untuk Pesanan akan masuk akal. 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 Anda dapat melihat Eksplorasi yang tercantum di menu Jelajah. Eksplorasi dicantumkan di bawah nama model yang menjadi bagiannya.

Menurut konvensi, Eksplorasi dideklarasikan dalam file model dengan parameter explore. Dalam contoh file model berikut, Eksplorasi orders 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 gabungan antar-tampilan. Untuk mengetahui detail tentang deklarasi join, buka bagian tentang penggabungan di halaman ini. Buka halaman dokumentasi Parameter gabungan 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. Nilainya dapat berupa salah satu dari berikut:

  • Atribut, yang memiliki hubungan langsung dengan 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 dari SQL yang dihasilkan Looker.

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

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

Perilaku dan nilai yang diharapkan untuk kolom bergantung pada jenis yang dideklarasikan, seperti string, number, atau time. Untuk ukuran, jenisnya mencakup fungsi agregat, seperti sum dan percent_of_previous. Untuk mengetahui detailnya, lihat jenis dimensi dan jenis ukuran.

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.

Menurut konvensi, kolom dideklarasikan sebagai bagian dari tampilan yang menjadi miliknya, 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 tercakup sepenuhnya.

Berikut 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 ber-template.

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

Gabungan

Sebagai bagian dari deklarasi explore, setiap deklarasi join menentukan tampilan yang dapat digabungkan ke dalam Eksplorasi. Saat pengguna membuat kueri yang menyertakan kolom dari beberapa tampilan, Looker akan otomatis membuat logika gabungan SQL untuk memasukkan semua kolom dengan benar.

Berikut adalah contoh penggabungan 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 gabungan di LookML.

File manifes project

Project Anda dapat 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 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 saat ini dan lokasi project eksternal, yang dapat disimpan secara lokal atau dari 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 mengetahui informasi selengkapnya, lihat halaman dokumentasi Mengimpor file dari project lain.

Untuk menambahkan pelokalan ke model, 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 Melokalkan model LookML.

Set

Di Looker, set adalah daftar yang menentukan sekelompok kolom yang digunakan bersama. Biasanya, set digunakan untuk menentukan kolom yang akan ditampilkan setelah pengguna melihat perincian data. Set penelusuran ditentukan berdasarkan per 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 relevan tentang item yang dibeli. Perhatikan bahwa set mereferensikan 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 untuk set.

Lihat perincian

Di Looker, Anda dapat mengonfigurasi kolom sehingga pengguna dapat melihat perincian data lebih lanjut. Penelusuran berfungsi baik di tabel hasil kueri maupun di dasbor. Penelusuran 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 dilihat perinciannya. Misalnya, jika Anda mengklik tanggal tertentu dalam kueri pesanan pelanggan menurut tanggal, kueri baru akan menampilkan pesanan hanya pada tanggal tertentu tersebut.
  • Saat melihat perincian metrik, kueri baru akan menampilkan set data yang berkontribusi pada metrik tersebut. Misalnya, saat melihat perincian jumlah, kueri baru akan menampilkan baris untuk menghitung jumlah tersebut. Saat melihat perincian metrik maks, min, dan rata-rata, perincian tetap menampilkan semua baris yang berkontribusi pada metrik tersebut. Artinya, penelusuran pada ukuran maks, misalnya, akan menampilkan semua baris yang digunakan untuk menghitung nilai maks, bukan hanya satu baris untuk nilai maks.

Kolom yang akan ditampilkan untuk kueri penelusuran 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 itu adalah 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 serta ukuran dengan cara yang sama seperti tampilan konvensional. Tampilan untuk tabel turunan dapat dikueri dan digabungkan ke tampilan lain, seperti tampilan lainnya.

Tabel turunan juga dapat ditentukan sebagai tabel turunan persisten (PDT), yaitu tabel turunan yang ditulis ke dalam skema sementara di database Anda dan dibuat ulang secara otomatis 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 telah merujuk ke elemen yang tidak ada.

Misalnya, Anda memiliki Eksplorasi bernama e_flights_pdt, dan developer LookML menggunakan kapitalisasi yang salah (e_FLIGHTS_pdt) untuk mereferensikan Eksplorasi tersebut. Dalam contoh ini, Looker IDE menampilkan peringatan bahwa Eksplorasi e_FLIGHTS_pdt tidak ada. Selain itu, IDE menyarankan nama Eksplorasi yang 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 memastikan versi mana yang Anda inginkan. Umumnya, 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 Anda menentukan jalur file. Misalnya, jika Anda memiliki folder bernama Views, Anda harus menggunakan kapitalisasi yang sama dalam parameter include. Sekali lagi, Looker IDE akan menunjukkan error jika kapitalisasi Anda tidak cocok dengan folder yang ada di project Anda:

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