Halaman ini merujuk pada parameter
fieldsyang merupakan bagian dari Explore.
fieldsjuga dapat digunakan sebagai bagian dari gabungan, yang dijelaskan di halaman dokumentasi parameterfields(untuk gabungan).
fieldsjuga dapat digunakan sebagai bagian dari set, yang dijelaskan di halaman dokumentasi parameterset.
Penggunaan
explore: explore_name {
fields: [
field-or-set-specification,
field-or-set-specification,
...
]
}
|
Hierarki
fields |
Nilai Default
ALL_FIELDS*
Menerima
Tanda kurung siku yang berisi daftar kolom atau set yang dipisahkan koma
Aturan Khusus
|
Definisi
fields memungkinkan Anda menentukan kolom mana dari Eksplorasi yang ditampilkan di UI Eksplorasi. Kolom ini dapat berupa kolom di tampilan dasar Eksplorasi atau kolom yang tersedia dari gabungan Eksplorasi. Jika Anda tidak menggunakan fields, Looker secara default akan mengekspos semua kolom.
Daftar kolom dapat digunakan seperti ini: [view_name.field_a, view_name.field_b].
Anda juga dapat mereferensikan sekumpulan kolom (yang ditentukan dalam parameter set tampilan), seperti [view_name.set_a*]. Tanda bintang memberi tahu Looker bahwa Anda mereferensikan nama set, bukan nama kolom.
Dalam kedua kasus tersebut, perhatikan bahwa kolom atau set harus sepenuhnya tercakup. Dengan kata lain, Anda harus menyertakan nama tampilan dan nama kolom.
Looker otomatis membuat set bernama ALL_FIELDS*, yang berisi semua kolom dalam tampilan dasar dan gabungan Jelajah. Hal ini sangat berguna untuk mengecualikan beberapa kolom yang tidak diinginkan, seperti ini:
explore: view_name {
fields: [ALL_FIELDS*, -joined_view_name.unwanted_field]
}
Looker juga otomatis membuat set yang berisi semua kolom dalam tampilan tertentu, yang dapat dirujuk dengan format view_name*. Misalnya, Explore berikut hanya menyertakan kolom dalam tampilan customers:
explore: all_people {
fields: [customers*]
}
Contoh
Hanya tampilkan kolom bernama name dari tampilan customer di Eksplorasi customer:
explore: customer {
fields: [customer.name]
}
Hanya menampilkan kolom yang disebut name, address, dan age dari tampilan customer di Eksplorasi customer:
explore: customer {
fields: [customer.name, customer.address, customer.age]
}
Hanya tampilkan kumpulan kolom dalam set export_fields, dari tampilan customer, di Eksplorasi customer:
explore: customer {
fields: [customer.export_fields*]
}
Mengecualikan kolom bernama status dalam tampilan customer dari Eksplorasi order:
explore: order {
fields: [ALL_FIELDS*, -customer.status]
join: customer {
sql_on: ${order.customer_id} = ${customer.id} ;;
}
}
Yang perlu diketahui
Anda dapat mengecualikan item satu per satu atau kumpulan item menggunakan fields dengan explore
Anda dapat menggunakan fields di parameter explore untuk memanfaatkan set ALL_FIELDS*, lalu mengecualikan kolom. Contoh:
explore: order {
fields: [
ALL_FIELDS*,
-customer.unwanted_field_a,
-customer.unwanted_field_b
]
join: customer {
sql_on: ${order.customer_id} = ${customer.id} ;;
}
}
Kita dapat mereferensikan kolom dari tampilan gabungan customer dalam parameter fields tingkat Eksplorasi dengan menggunakan sintaksis view_name.field_name.
Dengan menggunakan sintaksis -, Anda juga dapat mengecualikan kumpulan kolom yang ditentukan:
explore: orders {
fields: [ALL_FIELDS*, -users.statezip*]
join: users {
sql_on: ${orders.user_id} = ${users.id} ;;
relationship: many_to_one
}
}
view: users {
set: statezip {
fields:[state, zip]
}
}
Parameter fields yang merupakan bagian dari join tidak dapat menggunakan set ALL_FIELDS
Halaman ini merujuk ke parameter fields yang merupakan turunan dari explore. Saat menggunakan parameter fields dengan cara ini, Anda dapat mengakses set ALL_FIELDS*, lalu mengecualikan kolom yang tidak diinginkan, seperti yang ditunjukkan sebelumnya.
Ada juga parameter fields yang merupakan turunan dari join. Jika digunakan dengan cara tersebut, Anda tidak dapat menggunakan set ALL_FIELDS*.
Set ALL_FIELDS dibatasi oleh parameter fields yang merupakan bagian dari join
Halaman ini menjelaskan fields saat disarangkan di bawah parameter explore. Ada juga parameter fields serupa yang berada di bawah join. Penting untuk memahami implikasi penerapan fields ke kedua level secara bersamaan.
Pertama, semua parameter fields di bagian join diterapkan. Tindakan ini akan membuat kumpulan kolom yang dapat dipilih oleh Eksplorasi. Perhatikan contoh berikut:
explore: orders {
join: users {
fields: [name]
sql_on: ${orders.user_id} = ${users.id} ;;
}
}
Dalam kasus ini:
- Semua kolom dari
ordersakan tersedia, dan disertakan dalamALL_FIELDS*. namedariusersakan tersedia, dan disertakan dalamALL_FIELDS*.- Kolom lain di
userstidak akan tersedia atau disertakan dalam setALL_FIELDS*.
Sekarang, jika kita menambahkan parameter fields di bawah explore, kita menambahkan batasan di atas set tersebut. Misalkan kita melakukan hal berikut:
explore: orders {
fields: [orders.price, users.address]
join: users {
fields: [name]
sql_on: ${orders.user_id} = ${users.id} ;;
}
}
Dalam kasus ini:
pricedariordersakan muncul seperti yang diharapkan, karena berada dalam setALL_FIELDS*yang kami buat.addressdariuserstidak akan muncul, karena tidak disertakan saatusersbergabung (hanyanameyang disertakan).namedariusersjuga tidak akan muncul, karena kami tidak menambahkannya ke Jelajahi di barisfields: [orders.price, users.address].