Menyesuaikan Looker Block
Halaman ini memberikan ringkasan praktik terbaik dan contoh tentang cara menyesuaikan Looker Block Framework Cortex berikut dengan persyaratan bisnis spesifik Anda:
Penginstalan
Anda dapat menginstal Blok Looker Framework Cortex 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 Framework Cortex telah dibuat dalam pendekatan berlapis, dengan setiap lapisan menambahkan bagian logika inkremental ke lapisan sebelumnya:
- Lapisan Dasar: Tampilan LookML buatan mesin yang mereferensikan tabel sumber.
- Lapisan Inti: Perubahan tulisan tangan yang menambahkan kolom baru atau mengubah kolom lapisan dasar.
- Lapisan Logis: Jelajahi definisi dan join di berbagai tampilan.
Penggunaan peningkatan adalah kunci untuk pendekatan berlapis ini dan untuk penyesuaian. Selain itu, untuk mengikuti prinsip DRY (Do Not Repeat Yourself), ekstensi dan konstanta dioptimalkan. Konten dinamis untuk label, pernyataan SQL, html, dan properti link dibuat menggunakan bahasa template Liquid.
Praktik Terbaik Google Umum:
Pengaturan file dan folder
Dalam Blok Looker, setiap folder mewakili kumpulan jenis objek (seperti tampilan, Jelajah, dasbor, dan lainnya). Dan 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 marketplace Looker)
Model
Pengelolaan file modular membuat file model
project menjadi ramping dengan parameter
berikut:
- koneksi
-
Jenis file yang disertakan adalah sebagai berikut:
- Komponen (grup data,
named_value_formats
jika relevan) - Jelajahi (eksplorasi tidak ditentukan dalam file model)
- Dasbor
- Komponen (grup data,
Pernyataan include
untuk tampilan yang digunakan di Blok ditentukan dalam
setiap file Jelajahi, 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 Framework Cortex juga menggunakan konstanta untuk menentukan hal berikut:
- Melihat label
- Label kolom
- Format HTML
- Link URL
- Nama dasbor
Tinjau konstanta yang ditentukan untuk Blok Looker dan ubah nilai apa pun agar sesuai dengan kebutuhan Anda. Perubahan berlaku di mana pun konstanta direferensikan.
Atribut Pengguna
Beberapa Blok Looker memerlukan atribut pengguna untuk ditentukan di instance Looker oleh administrator. Atribut pengguna ini untuk bahasa atau mata uang default memungkinkan Anda menyesuaikan cara dasbor ditampilkan per pengguna atau grup. Lihat ringkasan untuk setiap blok guna mengetahui informasi selengkapnya tentang atribut pengguna yang diperlukan.
Dilihat
Tampilan yang ditemukan di folder Dasar adalah tampilan yang dibuat secara otomatis menggunakan Buat Tampilan dari Tabel. File ini telah diubah secara minimal:
- Mengganti Project ID dan nama Set data dengan konstanta.
- Memindahkan tampilan berdasarkan Data Bertingkat ke dalam file terpisah.
- Menghapus definisi kolom pengeboran yang tidak perlu.
Modifikasi signifikan pada tampilan ini seperti label, dimensi, dan ukuran baru telah dibuat di folder Core menggunakan peningkatan, ekstensi, atau tabel turunan.
Dalam folder inti, tampilan diberi nama dengan akhiran yang menunjukkan jenis tampilan:
_rfn
untuk penyempurnaan._ext
untuk tampilan yang memerlukan ekstensi._sdt
untuk tabel turunan berbasis SQL._ndt
untuk tabel turunan Native._pdt
untuk tabel turunan Persisten._xvw
untuk kolom referensi tampilan 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.
Kumpulan data berulang bertingkat
Untuk tabel pokok yang berisi kumpulan data berulang bertingkat, Looker
akan membuat tampilan terpisah untuk membatalkan bertingkat kumpulan data ini. Misalnya,
di Oracle EBS Looker Block, tabel sales_orders
memiliki struct berulang
bertingkat bernama lines
. Looker memperlakukannya sebagai dua tampilan
yang berbeda: sales_orders
dan sales_orders__lines
.
Untuk menggabungkan data yang tidak disusun bertingkat ini dalam Jelajah, Anda harus menentukan join menggunakan properti sql
bersama dengan perintah UNNEST.
Untuk mengetahui informasi selengkapnya, lihat Cara Membuat Model Data BigQuery Bertingkat di Looker.
Menavigasi dan memahami kode Looker Block
Blok Looker Framework Cortex berisi komentar yang luas dalam tampilan dan objek lainnya. Untuk meningkatkan navigasi dan pemahaman kode, sebaiknya gunakan opsi Fold 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-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 memberinya nama yang mudah dipahami bisnis.
Misalnya, dimensi bernama
division_hdr_spart
dapat diberi label sebagai "ID Divisi". - Untuk tabel dengan banyak kolom, kolom disembunyikan secara default. Dengan menggunakan
peningkatan tampilan, tetapkan properti
hidden
ke "tidak" untuk subset kolom yang akan ditampilkan di Jelajahi. Jika kolom tidak muncul seperti yang diharapkan, mengedit properti kolom ini dapat menyelesaikan masalah. - Properti
View_label
dangroup_label
digunakan untuk mengatur kolom dalam Jelajahi, jika berlaku. - Untuk kolom yang digunakan di beberapa tampilan, properti seperti label dibuat dalam tampilan "umum", yang kemudian diperluas ke tampilan lain. Pendekatan ini memusatkan definisi properti, sehingga mempromosikan penggunaan kembali. Setiap modifikasi yang diperlukan dikelola dalam tampilan "umum", yang memastikan bahwa perubahan tercermin 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, penajaman digunakan untuk menyembunyikan semua kolom secara default. Hal ini dilakukan dengan menetapkan properti fields_hidden_by_default
ke "yes". Subkumpulan kolom yang relevan untuk dasbor LookML
yang disertakan telah ditampilkan. Contoh berikut, mempertimbangkan tampilan dasar bernama
sales_orders
dengan dimensi yang disebut 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 hidden 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 EBS Oracle menggunakan
file otc_common_parameters_xvw
. Tampilan ini menampilkan label "🔍 Filter", yang
ditentukan sebagai konstanta dalam file Manifes.
Untuk mengubah label ini:
- Temukan konstanta
label_view_for_filters
dalam file Manifes. - Edit nilai konstanta ke label yang Anda pilih.
- Simpan file Manifes.
Perubahan akan otomatis diterapkan di mana pun konstanta
label_view_for_filters
direferensikan.
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 ukuran baru
Pengukuran baru dapat ditambahkan langsung ke perincian yang relevan. Contoh berikut menunjukkan ukuran baru yang ditambahkan ke perincian pesanan penjualan:
view: +sales_orders {
measure: customer_count {
type: count_distinct
sql: ${customer_id}
}
}
Menambahkan lapisan penajaman kedua
Penyempurnaan baru dapat dibuat berdasarkan penyempurnaan yang ada. Pertimbangkan peningkatan
sales_orders
dalam file sales_orders_rfn.view
yang membuat
pengukuran average_sales
sebagai contoh berikut:
include: "/views/base/sales_orders"
view: +sales_orders {
measure: average_sales {
type: average
sql: ${order_value}
}
}
Untuk membuat file perincian kedua:
- Buat file perincian baru: Beri nama
sales_orders_rfn2.view
. - Sertakan file perbaikan pertama: Tindakan ini akan menggabungkan semua definisi
dari
sales_orders_rfn
ke dalamsales_orders_rfn2
. - Edit properti label: Ubah properti
label
dariaverage_sales
menjadi "belanja rata-rata" 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 perincian kedua di Jelajahi: Tindakan ini akan menggabungkan semua definisi dan peningkatan dari
sales_orders_rfn2
di Jelajahi.include: "/views/core/sales_orders_rfn2.view" explore: sales_orders { }
Membuat lapisan penyempurnaan baru
Penyempurnaan tampilan dasar apa pun yang ditentukan dalam Blok Looker
Framework Cortex dapat diganti jika tidak memenuhi persyaratan
tertentu Anda. File _rfn
dapat langsung diedit untuk menghapus definisi kolom yang tidak diperlukan atau menambahkan yang baru.
Atau, buat file perincian baru:
- Buat file perincian baru: Beri nama
sales_invoices_rfn
dan simpan. - Sertakan tampilan dasar: Tindakan ini akan menggabungkan semua definisi dari
tampilan dasar
sales_invoices
ke 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 Jelajahi: Gunakan file baru di properti
include
, bukan penyempurnaan yang disediakan di Blok Looker Framework Cortex.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 di dasbor yang diberi 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 tampilkan properti 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
perubahan. Perubahan ini akan dibatasi untuk satu dasbor. Misalnya,
untuk mengubah judul dan jenis UI serta 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 informasi selengkapnya tentang cara membuat dan mengubah dasbor LookML, lihat Membuat Dasbor LookML.