Istilah dan konsep LookML

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

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

Lihat glosarium Looker untuk mengetahui daftar lengkap istilah dan definisi yang digunakan di seluruh Looker. Untuk mengetahui ringkasan lengkap parameter LookML yang dapat Anda gunakan dalam project LookML, lihat halaman referensi cepat LookML.

Lihat halaman dokumentasi Istilah dan konsep bersama Looker dan Data Studio untuk mengetahui informasi tentang perbedaan antara istilah dan konsep serupa di Looker dan Data 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 paling dasar, file ini menjelaskan hubungan tabel database Anda dengan tabel lainnya dan cara Looker harus menafsirkannya. File ini juga dapat menyertakan LookML parameter yang menentukan atau mengubah opsi yang ditampilkan di UI Looker. Setiap project LookML berada di repositori Git-nya sendiri untuk kontrol versi.

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

Komponen 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:

Selain file model, tabel virtual, Eksplorasi, 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 kumpulan file dasar yang dapat Anda gunakan sebagai template untuk membangun project:

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

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

Struktur LookML utama

Seperti yang ditunjukkan dalam diagram komponen 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 tabel virtual, yang masing-masing berisi parameter yang menentukan tabel virtual 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 yang disesuaikan ke database, yang dirancang untuk memberikan eksplorasi data 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 akan mengembangkan dua model untuk menawarkan tampilan database yang sesuai untuk setiap pengguna.

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

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.

Tabel virtual

Deklarasi tabel virtual menentukan daftar kolom (dimensi atau ukuran) dan hubungannya dengan tabel dasar atau tabel turunan. Di LookML, tabel virtual biasanya merujuk ke tabel database dasar, tetapi juga dapat mewakili tabel turunan.

Tabel virtual dapat digabungkan dengan tabel virtual lainnya. Hubungan antara tabel virtual biasanya ditentukan sebagai bagian dari deklarasi Eksplorasi dalam file model.

Secara default, nama tabel virtual muncul di awal nama dimensi dan ukuran dalam tabel data Eksplorasi. Konvensi penamaan ini menjelaskan tabel virtual mana yang dimiliki kolom tersebut. Dalam contoh berikut, nama tabel virtual Orders dan Users tercantum sebelum nama kolom dalam tabel data:

Tabel data untuk kueri sampel dengan kolom Orders Created Date, Users ID, dan Orders Count dipilih.

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

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

Eksplorasi

Eksplorasi adalah tabel virtual yang dapat dikueri pengguna. Anda dapat menganggap Eksplorasi sebagai titik awal untuk kueri atau, dalam istilah SQL, sebagai FROM dalam pernyataan SQL. Tidak semua tabel virtual adalah Eksplorasi, karena tidak semua tabel virtual menjelaskan entitas yang menarik. Misalnya, tabel virtual States yang sesuai dengan tabel referensi untuk nama negara bagian tidak memerlukan Eksplorasi, karena pengguna bisnis tidak pernah perlu mengkuerinya secara langsung. Di sisi lain, pengguna bisnis mungkin menginginkan cara untuk mengkueri tabel virtual Orders, sehingga menentukan Eksplorasi untuk Orders akan lebih baik. Lihat halaman dokumentasi Melihat dan berinteraksi dengan Eksplorasi di Looker untuk mengetahui informasi tentang cara pengguna berinteraksi dengan Eksplorasi untuk mengkueri data Anda.

Di Looker, pengguna Anda dapat melihat Eksplorasi yang tercantum di menu Eksplorasi. Eksplorasi tercantum di bawah nama model yang dimilikinya.

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. Tabel virtual orders dan customers yang direferensikan dalam deklarasi explore ditentukan di tempat lain, dalam file tabel virtual 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 direferensikan oleh model.

Deklarasi explore dalam contoh ini juga menentukan hubungan gabungan antara tabel virtual. Untuk mengetahui detail tentang deklarasi join, buka bagian tentang gabungan 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

Tabel virtual berisi kolom, sebagian besar dimensi dan ukuran, yang merupakan blok penyusun dasar untuk kueri Looker.

Di Looker, dimensi adalah kolom yang dapat dikelompokkan dan dapat digunakan untuk memfilter hasil kueri. Dimensi dapat berupa salah satu hal berikut:

  • Atribut, yang memiliki hubungan langsung dengan kolom di tabel yang mendasarinya
  • 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 tabel virtual Products dapat mencakup nama produk, model produk, warna produk, harga produk, tanggal pembuatan produk, dan tanggal akhir siklus proses (EOL) produk.

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

Perilaku dan nilai yang diharapkan untuk suatu 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 tercantum di halaman Eksplorasi di pemilih kolom di sisi kiri halaman. Anda dapat meluaskan tabel virtual di pemilih kolom untuk menampilkan daftar kolom yang tersedia untuk dikueri dari tabel virtual tersebut.

Menurut konvensi, kolom dideklarasikan sebagai bagian dari tabel virtual yang dimilikinya, yang disimpan dalam file tabel virtual. Contoh berikut menunjukkan beberapa deklarasi dimensi dan ukuran. Perhatikan penggunaan operator substitusi ($) untuk mereferensikan kolom tanpa menggunakan nama kolom SQL yang sepenuhnya tercakup.

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 bertemplate.

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

Gabungan

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

Berikut adalah contoh gabungan 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 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 tersebut 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 Anda 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 grup kolom yang digunakan bersama. Biasanya, set digunakan untuk menentukan kolom mana yang akan ditampilkan setelah pengguna melihat perincian data. Set perincian ditentukan berdasarkan kolom 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 tabel virtual order_items, yang menentukan kolom yang mencantumkan detail relevan tentang item yang dibeli. Perhatikan bahwa set mereferensikan kolom dari tabel virtual 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.

Perincian

Di Looker, Anda dapat mengonfigurasi kolom sehingga pengguna dapat melihat perincian data lebih lanjut. Perincian berfungsi di tabel hasil kueri dan di dasbor. Perincian memulai kueri baru yang dibatasi oleh nilai yang Anda klik.

Perilaku perincian berbeda untuk dimensi dan ukuran:

  • Saat Anda menelusuri dimensi, kueri baru akan memfilter nilai yang ditelusuri. Misalnya, jika Anda mengklik tanggal tertentu dalam kueri pesanan pelanggan berdasarkan tanggal, kueri baru akan menampilkan pesanan hanya pada tanggal tertentu tersebut.
  • Saat melihat perincian 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 maksimum, minimum, dan rata-rata, perincian tetap menampilkan semua baris yang berkontribusi pada ukuran tersebut. Artinya, melihat perincian 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 telusuri baru dapat ditentukan oleh set, atau dapat ditentukan oleh parameter drill_fields (untuk kolom) atau parameter drill_fields (untuk tabel virtual).

Tabel turunan

Tabel turunan adalah kueri yang hasilnya digunakan layaknya tabel aktual 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 diekspos sebagai tabel virtualnya sendiri, dan menentukan dimensi serta ukuran dengan cara yang sama seperti tabel virtual konvensional. Tabel virtual untuk tabel turunan dapat dikueri dan digabungkan ke dalam tabel virtual lain, seperti tabel virtual lainnya.

Tabel turunan juga dapat ditentukan sebagai tabel turunan persisten (PDT), yaitu tabel turunan yang ditulis ke skema sementara 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 Eksplorasi bernama e_flights_pdt, dan developer LookML menggunakan huruf besar/kecil yang salah (e_FLIGHTS_pdt) untuk mereferensikan Eksplorasi tersebut. Dalam contoh ini, IDE Looker 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, IDE Looker tidak akan dapat mengoreksi Anda, sehingga 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 huruf besar/kecil nama folder setiap kali menentukan jalur file. Misalnya, jika Anda memiliki folder bernama Views, Anda harus menggunakan huruf besar/kecil yang sama dalam parameter include. Sekali lagi, IDE Looker akan menunjukkan error jika huruf besar/kecil Anda tidak cocok dengan folder yang ada di project Anda:

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