Memaksimalkan penggunaan kembali kode dengan DRY LookML: Menentukan daftar kolom yang dapat digunakan kembali dengan parameter set

Salah satu cara untuk membuat project LookML Anda lebih efisien dan lebih mudah dikelola adalah dengan parameter set LookML. Parameter set memungkinkan Anda mengelompokkan kolom yang mungkin sering diulang di seluruh project dalam parameter fields atau dalam kolom penelusuran. Jika menggunakan kumpulan untuk mengelompokkan kolom berulang, Anda harus membuat satu tempat dalam model tempat grup kolom tersebut dapat dipertahankan.

Halaman ini berisi contoh penggunaan set LookML berikut untuk membuat project LookML Anda lebih efisien dan mudah dikelola:

Produk

Prasyarat

Contoh: Menambahkan kolom penelusuran yang sama ke beberapa ukuran

Misalnya Anda ingin pengguna dapat melihat perincian untuk melihat detail pengguna yang lebih terperinci di mana pun mereka melihat metrik penjualan pada laporan, sehingga memilih nilai untuk pengukuran Jumlah di UI Eksplorasi akan membuka kueri di kolom ID, Kota, Negara Bagian, dan Negara:

Memilih nilai untuk Ukuran jumlah akan membuka kueri tentang ID kolom, Kota, Negara Bagian, dan Negara.

Anda dapat membuat kumpulan bernama user_details yang menyertakan kolom id, city, state, dan country, lalu mereferensikannya dalam beberapa tindakan untuk dilihat perinciannya oleh pengguna Anda:


set: user_details {
  fields: [id, city, state, country]
}

Kumpulan user_details dapat digunakan untuk menentukan kolom bor untuk pengukuran count:


measure: count {
  type: count
  drill_fields: [user_details*]
}

Dalam contoh ini, sintaksis [set_name*] digunakan untuk menentukan bahwa kolom dalam user_details akan muncul di hasil kueri saat Anda melihat perincian ukuran Jumlah.

Anda dapat menggunakan kembali kumpulan ini untuk membuat kolom penelusuran tambahan. Misalnya, Anda dapat menambahkan kode LookML drill_fields: [user_details*] ke ukuran order_count, total_sale_price, dan average_sale_price:


measure: order_count {
  view_label: "Orders"
  type: count_distinct
  description: "Number of orders"
  sql: ${order_id} ;;
  drill_fields: [user_details*]

}

measure: total_sale_price {
  type: sum
  value_format_name: usd
  sql: ${sale_price} ;;
  drill_fields: [user_details*]
}

measure: average_sale_price {
  type: average
  value_format_name: usd
  sql: ${sale_price} ;;
  drill_fields: [user_details*]
}

Seperti pengukuran Jumlah, saat pengguna memilih nilai untuk Jumlah Pesanan, Total Harga Jual, atau Harga Jual Rata-Rata di UI Jelajah, Looker akan membuka jendela yang berisi kueri pada kolom ID, Kota, Negara Bagian, dan Negara.

Jika ingin mengubah apa pun pada kolom latihan, seperti menambahkan atau menghapus kolom, Anda hanya perlu memperbarui kumpulan user_details.

Anda juga dapat mereferensikan kumpulan dalam parameter drill_fields tampilan guna menentukan kolom penelusuran untuk semua tindakan dalam tampilan tersebut yang belum memiliki kolom penelusuran yang ditentukan di tingkat kolom.

Contoh: Menyertakan atau menghilangkan sekumpulan kolom dari Jelajah

Misalkan Anda ingin menyederhanakan pemilih kolom Explore untuk pengguna dengan mengecualikan kolom yang tidak penting bagi pengguna tersebut.

Misalnya, Anda memiliki tampilan users yang berisi informasi tentang pelanggan Anda, termasuk kolom ID, First Name, Last Name, Email, dan Age, serta kolom lokasi seperti City, State, Country, dan Zip. Tampilan users digabungkan dengan Eksplorasi orders:

Alat pilih kolom untuk tampilan Pesanan berisi semua kolom dari tampilan Pesanan dan Pengguna, termasuk kolom yang ingin Anda hapus.

Bagaimana jika Anda ingin mengecualikan kolom Nama Depan, Nama Belakang, Email, Usia, dan Gender dari Jelajah untuk pengguna Anda? Anda dapat membuat kumpulan bernama user_info yang mencantumkan kolom yang ingin dikecualikan dari Eksplorasi Pesanan:

Jelajah Pesanan Tanpa Data Pengguna mengecualikan kolom Nama Depan, Nama Belakang, Email, Usia, dan Gender dari pemilih kolom Jelajahi.

LookML untuk kumpulan user_info akan terlihat seperti ini:


set: user_info {
  fields: [first_name, last_name, email, age, gender]
}

Untuk menentukan Eksplorasi Pesanan dengan label Pesanan Tanpa Data Pengguna, gabungkan tampilan users ke Jelajah orders. Tambahkan kode LookML fields: [ALL_FIELDS*, -users.user_info*] ke Jelajah orders untuk menyertakan semua kolom kecuali kolom di user_info yang ditetapkan dari tampilan users:


explore: orders {
  fields: [ALL_FIELDS*, -users.user_info*]
  label: "Orders Without User Data"
  join: users {
    type: left_outer
    sql_on: ${orders.user_id} = ${users.id} ;;
    relationship: many_to_one
  }
}

Karena kumpulan user_details dikecualikan dari Eksplorasi dengan sintaksis -users.user_details* di parameter fields dari Jelajah orders, tampilan Orders dalam Jelajah Orders without User Data menghilangkan kolom yang tercantum dalam kumpulan users_user.info dari pemilih kolom Jelajah.

Anda dapat menggunakan kembali kumpulan user_info untuk menghilangkan kolom ini dari UI Jelajah untuk Jelajah lainnya yang digabungkan dengan tampilan users. Jika Anda ingin mengubah apa pun pada kumpulan user_info, seperti menambahkan atau menghapus kolom, Anda hanya perlu memperbarui kumpulan user_info.