Definisi kolom LookML dapat berubah dari waktu ke waktu. Misalnya, nama kolom database dapat berubah, atau Anda mungkin perlu mengubah definisi kolom LookML karena alasan lain.
Jika menggunakan sintaksis {TABLE}.field_name untuk mereferensikan kolom database secara langsung di beberapa tempat, Anda harus memperbarui setiap referensi secara manual. Setiap kolom yang mereferensikan dimensi tersebut dapat rusak jika Anda lupa memperbaruinya, dan Looker akan menampilkan error:

Agar project LookML Anda lebih efisien dan mudah dikelola, Anda dapat menentukan kolom di satu tempat dan menggunakan operator penggantian ($) untuk mereferensikan kolom tersebut di tempat lain.
Halaman ini memberikan contoh penggunaan operator penggantian (dengan sintaksis ${field_name}) untuk mereferensikan satu dimensi dalam definisi beberapa kolom LookML.
Bahan
- Operator penggantian
- Parameter
dimensionLookML - Parameter
sqlLookML - Parameter
sql_table_nameLookML
Prasyarat
Contoh: Mereferensikan kolom database yang mendasari hanya sekali untuk dimensi
Tentukan kolom tabel database dalam project LookML satu kali menggunakan sintaksis ${TABLE}.field_name dalam parameter sql dimensi. Kemudian, referensikan dimensi menggunakan sintaksis ${field_name} atau ${view_name.field_name} di tempat lain dalam project Anda. Hal ini memungkinkan Anda mempertahankan definisi LookML kolom database di satu tempat (dimensi ${TABLE}.field_name asli), yang berguna jika Anda perlu mereferensikannya di beberapa tempat dalam project.
Sebagai contoh, Anda dapat menggunakan sintaksis ${TABLE}.sale_price untuk menentukan dimensi dasar yang disebut sale_price dalam tampilan yang disebut order_items:
dimension: sale_price {
type: number
value_format_name: usd
sql: ${TABLE}.sale_price ;;
description: "The price at which an item is set to sell."
}
Saat menentukan kolom lain yang mereferensikan dimensi sale_price, Anda dapat menggunakan sintaksis ${sale_price} dalam tampilan order_items (atau menggunakan sintaksis ${order_items.sale_price} untuk mereferensikan dimensi sale_price di tampilan lain).
dimension: profit {
type: number
value_format_name: usd
sql: ${sale_price} - ${inventory_items.cost} ;;
description: "The difference between an item's sale price and an item's cost."
}
dimension: item_gross_margin {
type: number
value_format_name: percent_2
sql: 1.0 * ${profit}/NULLIF(${sale_price},0) ;;
}
measure: total_sale_price {
type: sum
value_format_name: usd
sql: ${sale_price} ;;
}
Dalam contoh ini, jika nama kolom untuk dimensi sale_price berubah, Anda hanya perlu memperbarui referensi ${TABLE}.sale_price satu kali, dalam definisi dimensi sale_price dasar. Perubahan ini kemudian akan otomatis diterapkan ke kolom profit, item_gross_margin, dan total_sale_price, serta semua kolom lain yang mereferensikan dimensi sale_price.