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_formatsjika 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:
_rfnuntuk penyempurnaan._extuntuk tampilan yang memerlukan ekstensi._sdtuntuk tabel turunan berbasis SQL._ndtuntuk tabel turunan Native._pdtuntuk tabel turunan Persisten._xvwuntuk 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_spartdapat diberi label sebagai "ID Divisi". - Untuk tabel dengan banyak kolom, kolom disembunyikan secara default. Dengan menggunakan
peningkatan tampilan, tetapkan properti 
hiddenke "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_labeldangroup_labeldigunakan 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_filtersdalam file Manifes. - Edit nilai konstanta ke label yang Anda pilih.
 - Simpan file Manifes.
Perubahan akan otomatis diterapkan 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 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_rfnke dalamsales_orders_rfn2. - Edit properti label: Ubah properti 
labeldariaverage_salesmenjadi "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_rfn2di 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_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 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.