Menyesuaikan Blok Looker
Halaman ini memberikan ringkasan praktik terbaik dan contoh cara menyesuaikan Blok Looker Cortex Framework berikut dengan persyaratan bisnis spesifik Anda:
Penginstalan
Anda dapat menginstal Blok Looker Cortex Framework dengan beberapa cara, seperti yang dijelaskan dalam dokumentasi Men-deploy Blok Looker. Namun, sebaiknya buat fork repositori sebagai metode paling sederhana untuk menyesuaikan blok agar sesuai dengan kebutuhan bisnis Anda.
Blok Looker Cortex Framework telah dibuat dengan pendekatan berlapis, di mana setiap lapisan menambahkan bagian logika inkremental ke lapisan sebelumnya:
- Lapisan Dasar: Tampilan LookML yang dibuat mesin yang mereferensikan tabel sumber.
- Lapisan Inti: Perubahan yang ditulis tangan yang menambahkan kolom baru atau mengubah kolom lapisan dasar.
- Lapisan Logis: Menjelajahi definisi dan gabungan di berbagai tampilan.
Penggunaan penyempurnaan adalah kunci untuk pendekatan berlapis ini dan untuk penyesuaian. Untuk mengikuti prinsip DRY (Do Not Repeat Yourself), ekstensi dan konstanta dimanfaatkan. Konten dinamis untuk label, pernyataan SQL, properti HTML, dan link properti dibuat menggunakan bahasa templating Liquid.
Praktik Terbaik Google Umum:
Organisasi file dan folder
Dalam Blok Looker, setiap folder mewakili kumpulan jenis objek (seperti tampilan, Jelajah, dasbor, dan lainnya). Setiap objek individual ditentukan dalam file terpisah. Root project berisi file kunci berikut:
- File
.model - File manifes
- README dan file Markdown lainnya
- File Marketplace (jika blok juga tersedia di Looker Marketplace)

Model
Pengelolaan file modular membuat file model project menjadi ramping dengan parameter berikut:
- koneksi
-
Jenis file yang disertakan adalah sebagai berikut:
- Components (grup data,
named_value_formatsjika relevan) - Explores (jelajah tidak ditentukan dalam file model)
- Dashboards
- Components (grup data,
Pernyataan include untuk tampilan yang digunakan dalam Blok ditentukan dalam setiap file Jelajah individual, bukan di lokasi ini seperti yang ditunjukkan contoh berikut:
connection: "@{CONNECTION_NAME}"
include: "/components/**/*.lkml"
include: "/explores/**/*.explore"
include: "/dashboards/**/*.dashboard"
Manifes
File Manifes menentukan konstanta yang direferensikan di seluruh project. Beberapa contoh konstanta yang digunakan untuk blok kami adalah sebagai berikut:
- Nama Koneksi
- ID Project
- Set Data Pelaporan
Blok Looker Cortex Framework juga menggunakan konstanta untuk menentukan hal berikut:
- Label tampilan
- Label kolom
- Format HTML
- Link URL
- Nama dasbor
Tinjau konstanta yang ditentukan untuk Blok Looker dan ubah salah satu nilai agar sesuai dengan kebutuhan Anda. Perubahan akan diterapkan di mana pun konstanta direferensikan.
Atribut Pengguna
Beberapa Blok Looker memerlukan atribut pengguna yang ditentukan di instance Looker oleh administrator. Atribut pengguna untuk bahasa atau mata uang default ini memungkinkan Anda menyesuaikan tampilan dasbor per pengguna atau grup. Lihat ringkasan untuk setiap blok guna mengetahui informasi selengkapnya tentang atribut pengguna yang diperlukan.
Tampilan
Tampilan yang ditemukan di folder Dasar adalah tampilan yang otomatis dibuat menggunakan Buat Tampilan dari Tabel. File ini telah diubah secara minimal:
- Mengganti ID Project dan nama Set Data dengan konstanta.
- Memindahkan tampilan berdasarkan Catatan Bertingkat ke file terpisah.
- Menghapus definisi kolom detail yang tidak diperlukan.
Perubahan signifikan pada tampilan ini seperti label, dimensi, dan metrik baru telah dibuat di folder Inti menggunakan penyempurnaan, ekstensi atau tabel turunan.
Dalam folder inti, tampilan diberi nama dengan akhiran yang menunjukkan jenis tampilannya:
_rfnuntuk penyempurnaan._extuntuk tampilan yang memerlukan ekstensi._sdtuntuk tabel turunan berbasis SQL._ndtuntuk tabel turunan Native._pdtuntuk tabel turunan Persisten._xvwuntuk tampilan yang mereferensikan kolom dari beberapa tampilan.

Setiap definisi tampilan dimulai dengan anotasi yang memberikan informasi latar belakang, termasuk deskripsi, sumber, referensi, kolom yang diperluas, dan catatan relevan lainnya.

Catatan berulang bertingkat
Untuk tabel pokok yang berisi catatan berulang bertingkat, Looker membuat tampilan terpisah untuk membatalkan catatan ini. Misalnya, di Blok Looker Oracle EBS, tabel sales_orders memiliki struct berulang bertingkat bernama lines. Looker memperlakukan hal ini sebagai dua tampilan yang berbeda: sales_orders dan sales_orders__lines.
Untuk menggabungkan catatan yang tidak bertingkat ini dalam Jelajah, Anda harus menentukan gabungan menggunakan properti sql bersama dengan perintah UNNEST.

Untuk mengetahui informasi selengkapnya, lihat Cara Memodelkan Data BigQuery Bertingkat di Looker.
Menavigasi dan memahami kode Blok Looker
Blok Looker Cortex Framework berisi komentar yang luas dalam tampilan dan objek lainnya. Untuk meningkatkan navigasi dan pemahaman kode, sebaiknya gunakan opsi Lipat LookML yang tersedia di lingkungan pengembangan LookML.



Kolom
Istilah field mengacu pada objek seperti dimension, measure, filter, atau parameter. Dalam blok yang lebih baru ini, kami mengikuti prinsip berikut:
- Dimensi diberi nama menggunakan snake_case (huruf kecil dan garis bawah di antara kata). Contoh:
customer_name. - Nama kolom dari tabel pokok digunakan untuk memberi nama dimensi. Label dapat diterapkan ke dimensi untuk memberikan nama yang mudah dipahami bisnis.
Misalnya, dimensi bernama
division_hdr_spartdapat diberi label "ID Divisi". - Untuk tabel dengan banyak kolom, kolom disembunyikan secara default. Dengan menggunakan penyempurnaan tampilan, tetapkan properti
hiddenke "no" untuk subset kolom yang akan ditampilkan di Jelajah. Jika kolom tidak muncul seperti yang diharapkan, mengedit properti kolom ini dapat mengatasi masalah tersebut. - Properti
View_labeldangroup_labeldigunakan untuk mengatur kolom dalam Jelajah, jika berlaku. - Untuk kolom yang digunakan di beberapa tampilan, properti seperti label ditetapkan dalam tampilan "umum", yang selanjutnya diperluas ke tampilan lain. Pendekatan ini memusatkan definisi properti, sehingga meningkatkan penggunaan kembali. Setiap modifikasi yang diperlukan dikelola dalam tampilan "umum", sehingga perubahan akan ditampilkan di semua tampilan tempat tampilan "umum" diperluas.
- Parameter yang digunakan di beberapa Jelajah atau kolom yang mereferensikan beberapa tampilan ditentukan dalam tampilan khusus kolom dengan akhiran
_xvw. Untuk mengetahui informasi selengkapnya, lihat Menghindari Inkonsistensi di seluruh Jelajah.
Mengedit contoh
Bagian ini memberikan contoh penyesuaian umum.
Menampilkan kolom
Tampilan dasar mencakup semua dimensi dari tabel pokok. Jika sebagian besar dimensi tidak perlu terlihat, penyempurnaan digunakan untuk menyembunyikan semua kolom secara default. Hal ini dilakukan dengan menetapkan properti fields_hidden_by_default ke "yes". Subset kolom yang relevan untuk dasbor LookML yang disertakan telah ditampilkan. Contoh berikut mempertimbangkan tampilan dasar bernama sales_orders dengan dimensi bernama item_posnr.
view: sales_order {
sql_table_name: reporting.sales_order ;;
dimension: item_posnr {
type: string
sql: ${TABLE}.Item_POSNR
}
}
Penyempurnaan tampilan ini ditentukan dalam file dengan akhiran _rfn. Penyempurnaan menetapkan properti tampilan fields_hidden_by_default ke "yes", yang berarti semua kolom awalnya disembunyikan. Untuk menampilkan kolom item_posnr dalam tampilan, tetapkan properti tersembunyi ke "no".
view: +sales_order {
fields_hidden_by_default: yes
dimension: item_posnr {
hidden: no
}
}
Mengubah label tampilan parameter
Beberapa Blok Looker menggunakan kumpulan parameter bersama yang ditentukan dalam file mandiri. Misalnya, Blok Oracle EBS menggunakan file otc_common_parameters_xvw. Tampilan ini menampilkan label "🔍 Filters", yang ditentukan sebagai konstanta dalam file Manifes.
Untuk mengubah label ini:
- Temukan konstanta
label_view_for_filtersdi file Manifes. - Edit nilai konstanta ke label yang Anda pilih.
- Simpan file Manifes.
Perubahan akan otomatis ditampilkan di mana pun konstanta
label_view_for_filtersdireferensikan.
Manifest
constant: label_view_for_filters {
value: "My Filters"
}
Atau, buka tampilan otc_common_parameters_xvw dan edit properti "label" ke nilai yang dipilih.
view: otc_common_parameters_xvw {
label: "My Filters"
}
Menambahkan metrik baru
Metrik baru dapat ditambahkan langsung ke penyempurnaan yang relevan. Contoh berikut menunjukkan metrik baru yang ditambahkan ke penyempurnaan pesanan penjualan:
view: +sales_orders {
measure: customer_count {
type: count_distinct
sql: ${customer_id}
}
}
Menambahkan lapisan penyempurnaan kedua
Penyempurnaan baru dapat dibuat berdasarkan penyempurnaan yang ada. Pertimbangkan penyempurnaan
dari sales_orders dalam file sales_orders_rfn.view yang membuat
metrik average_sales seperti contoh berikut:
include: "/views/base/sales_orders"
view: +sales_orders {
measure: average_sales {
type: average
sql: ${order_value}
}
}
Untuk membuat file penyempurnaan kedua:
- Buat file penyempurnaan baru: Beri nama
sales_orders_rfn2.view. - Sertakan file penyempurnaan pertama: Tindakan ini akan menggabungkan semua definisi
dari
sales_orders_rfnke dalamsales_orders_rfn2. - Edit properti label: Ubah properti
labeldariaverage_salesmenjadi "average spend" atau label lain yang dipilih. Tambahkan dimensi baru: Sertakan kode untuk dimensi baru dalam file
sales_orders_rfn2.view.include: "/views/core/sales_orders_rfn.view" view: +sales_orders { measure: average_sales { label: "Average Spend" } dimension: customer_name_with_id { type: string sql: CONCAT(${customer_id},' ',${customer_name}) } }Sertakan file penyempurnaan kedua di Jelajah: Tindakan ini akan menggabungkan semua definisi dan peningkatan dari
sales_orders_rfn2di Jelajah.include: "/views/core/sales_orders_rfn2.view" explore: sales_orders { }
Membuat lapisan penyempurnaan baru
Penyempurnaan tampilan dasar apa pun yang ditentukan dalam Blok Looker Cortex Framework dapat diganti jika tidak memenuhi persyaratan spesifik Anda. File _rfn dapat langsung diedit untuk menghapus definisi kolom yang tidak diperlukan atau menambahkan yang baru.
Atau, buat file penyempurnaan baru:
- Buat file penyempurnaan baru: Beri nama
sales_invoices_rfndan simpan. - Sertakan tampilan dasar: Tindakan ini akan menggabungkan semua definisi dari
tampilan dasar
sales_invoiceske dalamsales_invoices_rfn. Tambahkan penyesuaian yang dipilih: Pastikan untuk juga menentukan dimensi sebagai kunci utama.
include: "/views/base/sales_invoices.view" view: +sales_invoices { fields_hidden_by_default: yes dimension: invoice_id { hidden: no primary_key: yes value_format_name: id } dimension: business_unit_name { hidden: no sql: CONCAT(${business_unit_id}, ":",${TABLE}.BUSINESS_UNIT_NAME) ;; } }Sertakan penyempurnaan baru di Jelajah: Gunakan file baru di properti
includebukan penyempurnaan yang disediakan di Blok Looker Cortex Framework.include: "/views/my_customizations/sales_invoices_rfn.view" explore: sales_invoices { }
Mengedit filter dasbor LookML
Kumpulan filter dasbor umum yang digunakan di beberapa dasbor LookML ditentukan dalam dasbor yang diberi nama dengan akhiran _template dan diperluas ke setiap dasbor. Setelah diperluas, objek filter dapat diubah sesuai kebutuhan untuk dasbor tertentu.
Mengedit untuk semua dasbor
Untuk mengubah jenis filter untuk semua dasbor, temukan file template yang menentukan filter. Edit jenis ui_config dan properti tampilan ke setelan yang dipilih. Perubahan ini akan berlaku untuk semua dasbor yang memperluas template. Berikut adalah contoh otc_template.dashboard:
- dashboard: otc_template
extension: required
filters:
- name: customer_country
title: "Sold to Customer: Country"
type: field_filter
default_value: ''
allow_multiple_values: true
required: false
ui_config:
type: dropdown_menu
display: popover
explore: countries_md
field: countries_md.country_name_landx
Mengedit untuk dasbor tertentu
Untuk mengubah filter di dasbor tertentu, temukan file dasbor dan sertakan nama filter beserta properti pilihan yang memerlukan modifikasi. Perubahan ini akan terbatas pada satu dasbor. Misalnya, untuk mengubah judul, jenis UI, dan tampilan filter customer_country untuk otc_order_status.dashboard, hanya properti ini yang akan disertakan dalam file dasbor. Properti yang tersisa akan diwarisi dari template yang diperluas.
- dashboard: otc_order_status
title: Order Status
extends: otc_template
filters:
- name: customer_country
title: "Customer Country"
ui_config:
type: dropdown_menu
display: inline
Untuk mengetahui informasi selengkapnya tentang cara membuat dan mengubah dasbor LookML, lihat Membangun Dasbor LookML.