constant

Penggunaan

constant: constant_name {
  value: "string"
  export: none | override_required | override_optional
}
Hierarki
constant
Nilai default
Tidak ada

Menerima
  • Subparameter value, yang menerima string yang menentukan nilai konstanta
  • Subparameter export, yang menentukan apakah konstanta harus diganti saat digunakan dalam mengimpor project

Definisi

Parameter constant menentukan konstanta LookML, sehingga Anda dapat menentukan nilai yang dapat digunakan kembali di seluruh project. Konstanta dapat direferensikan di mana saja dalam model tempat string diterima dan dengan parameter model dan explore dari elemen dasbor LookML, sehingga membantu mengurangi pengulangan dalam kode LookML Anda.

Konstanta harus ditentukan dalam file manifes project. Konstanta kemudian dapat digunakan di seluruh project menggunakan sintaksis @{constant_name}.

Anda dapat menggunakan subparameter export dari constant untuk menentukan apakah developer harus mengganti nilai konstanta saat file yang mereferensikannya diimpor ke project lain.

export

Anda dapat menggunakan subparameter export dari constant untuk menentukan cara konstanta dapat digunakan saat file yang mereferensikan konstanta tersebut diimpor ke project lain.

Secara default, file yang diimpor yang mereferensikan konstanta akan menggunakan nilai yang ditentukan dalam file manifes project yang diimpor dalam project yang mengimpor. Parameter export menentukan apakah developer harus mengganti nilai konstanta dengan memberikan nilai baru untuk konstanta tersebut yang akan digunakan dalam mengimpor project. Parameter export memiliki kemungkinan nilai berikut:

  • none: Nilai default untuk export. Nilai konstanta tidak dapat diganti dalam project yang diimpor. Project yang mengimpor menggunakan nilai konstanta yang ditentukan dalam file manifes project yang diimpor.
  • override_optional: Nilai konstanta dapat diganti secara opsional dalam project yang diimpor. Jika nilai tidak diberikan dalam file manifes project pengimpor, nilai asli dari project yang diimpor akan digunakan.
  • override_required: Project yang mengimpor harus mengganti nilai konstanta yang awalnya ditentukan dalam file manifes project yang diimpor. Jika nilai konstanta baru tidak diberikan dalam project yang diimpor, Looker akan menampilkan error.

Konstanta hanya tersedia untuk file dari project tempat konstanta tersebut awalnya ditentukan. Oleh karena itu, konstanta yang ditentukan dalam project yang filenya telah Anda impor hanya dapat digunakan oleh file yang diimpor, dan tidak dapat digunakan oleh file yang ditentukan dalam project yang mengimpor.

Jika ingin menggunakan konstanta dalam file project pengimpor, Anda harus menentukan konstanta baru dalam file manifes project pengimpor. Konstanta yang ditentukan dengan cara ini hanya akan tersedia untuk file yang ditentukan dalam project yang mengimpor.

Saat mengimpor file yang mereferensikan konstanta ke project lain, Anda dapat menggunakan subparameter override_constant dari local_dependency atau remote_dependency dalam file manifes project pengimpor untuk memberikan nilai baru bagi konstanta yang memiliki export yang ditetapkan ke override_optional atau override_required.

Lihat halaman dokumentasi Mengimpor file dari project lain untuk mengetahui informasi selengkapnya dan contoh penggantian konstanta dalam mengimpor project.

Contoh

Berikut beberapa contoh cara menggunakan parameter constant untuk menentukan nilai yang dapat digunakan di seluruh project.

Memberi label pada Explore dengan parameter constant

Misalnya, Anda ingin membuat dua Eksplorasi, yang diberi label San Francisco Users dan San Francisco Orders di UI. Untuk melakukannya, Anda dapat menentukan konstanta city dengan nilai "San Francisco" di file manifest.lkml untuk project Anda:

constant: city {
  value: "San Francisco"
}

Konstanta ini kemudian dapat direferensikan di bagian mana pun dalam project Anda yang menerima string, menggunakan sintaksis @{city}. Dalam contoh ini, Anda dapat menentukan Eksplorasi users dan orders, dengan menentukan "@{city} Users" dan "@{city} Orders" sebagai nilai untuk parameter label, seperti dalam contoh berikut:


explore: users {
  label: "@{city} Users"
}

explore: orders {
  label: "@{city} Orders"
}

Dalam contoh ini, Looker menampilkan San Francisco Users dan San Francisco Orders di menu Explore dan di judul Eksplorasi, bukan label default Users dan Orders.

Menggunakan parameter sql_table_name dengan konstanta

Misalkan Anda ingin membuat beberapa tampilan berdasarkan tabel dalam skema 02349_sfo. Agar tidak perlu menentukan nilai 02349_sfo beberapa kali, buat konstanta bernama schema dalam file manifest.lkml untuk project Anda, seperti berikut:


constant: schema {
  value: "02349_sfo"
}

Kemudian, Anda dapat membuat tampilan berdasarkan skema 02349_sfo dengan menentukan @{schema}.view_name sebagai nilai untuk parameter sql_table_name:


view: users {
  sql_table_name: @{schema}.users ;;
}

Tindakan ini akan membuat tampilan bernama Users yang didasarkan pada tabel users dari skema 02349_sfo.

Menggunakan variabel Liquid dan HTML dengan konstanta

Bayangkan Anda ingin nilai data negatif ditampilkan dalam tanda kurung dan font merah. Dengan menetapkan pemformatan ini sebagai nilai untuk konstanta LookML, Anda dapat menentukan pemformatan hanya sekali menggunakan variabel Liquid dan HTML. Kemudian, Anda dapat mereferensikan konstanta tersebut setiap kali ingin menerapkan pemformatan tersebut ke kolom.

Misalnya, Anda dapat membuat konstanta negative_format untuk menerapkan pemformatan ini ke kolom:


constant: negative_format {
  value: "{% if value < 0 %}<p style='color:red;'>({{rendered_value}})</p>{% else %} {{rendered_value}} {% endif %}"
}

Tindakan ini akan membuat konstanta negative_format yang menentukan bahwa nilai data negatif harus memiliki font merah dan diapit tanda kurung. Kemudian, Anda dapat menerapkan pemformatan ini ke dimensi dan ukuran dalam set data menggunakan parameter html.

Misalnya, Anda dapat membuat ukuran Total Amount dari type: sum dan menentukan @{negative_format} sebagai nilai untuk parameter html:


measure: total_amount {
  type: sum
  value_format_name: usd
  sql: ${amount} ;;
  html: @{negative_format} ;;
}

Dalam tabel Anda, nilai negatif untuk ukuran Total Amount akan diformat seperti yang ditentukan dalam definisi konstanta negative_format, dengan font merah dan diapit tanda kurung.

Menggunakan konstanta di dasbor LookML

Saat menentukan elemen dasbor untuk dasbor LookML, Anda dapat menggunakan konstanta LookML untuk menentukan model dan Explore yang menjadi dasar elemen.

Sebagai contoh, misalnya Anda telah menentukan konstanta model_name dan explore_name dalam file manifest.lkml untuk project Anda:


constant: model_name {
  value: "thelook"
}

constant: explore_name {
  value: "orders"
}

Di file dasbor, Anda dapat menetapkan nilai model ke "@{model_name}" dan menetapkan nilai explore ke "@{explore_name}" untuk elemen dasbor apa pun yang Anda inginkan berdasarkan model thelook dan Explore orders.

Misalnya, Anda mengedit LookML untuk elemen diagram kolom. Dalam file dasbor, Anda dapat menentukan nilai untuk parameter model dan explore sebagai berikut:


- dashboard: dashboard_name
  title: "dashboard title"
  layout: newspaper
  elements:
  - title: Element Title
    name: element_name
    model: "@{model_name}"
    explore: "@{explore_name}"
    type: looker_column

Menggunakan konstanta dalam petunjuk agen dasbor

Anda juga dapat menggunakan konstanta LookML dalam parameter instructions dari agen dasbor LookML untuk membagikan aturan atau panduan bisnis standar di beberapa agen dasbor.

Misalnya, tentukan konstanta dalam file manifest.lkml Anda:

constant: FISCAL_YEAR_RULE {
  value: "Always filter all requests by the current fiscal year unless specified otherwise."
}

Kemudian, Anda dapat mereferensikan konstanta dalam parameter instructions dari definisi agent:

agent: sales_dashboard_agent {
  instructions: "Focus on revenue metrics. @{FISCAL_YEAR_RULE}"
  is_dashboard_agent: yes
}

Yang perlu diketahui

Merujuk ke konstanta dalam definisi konstanta

Saat menentukan konstanta, Anda dapat mereferensikan konstanta lain yang ditentukan dalam file manifes untuk project Anda. Misalnya, Anda telah mendeklarasikan konstanta city:


constant: city {
  value: "San Francisco"
}

Kemudian, Anda dapat mendeklarasikan konstanta state yang mereferensikan konstanta city:


constant: city_state {
  value: "@{city}, California"
}

Konstanta state akan di-resolve ke string "San Francisco, California".

Sintaksis konstanta escape

Jika Anda ingin menulis string yang menyerupai sintaksis konstanta, tetapi tidak ingin string tersebut dievaluasi sebagai konstanta, Anda dapat meng-escape sintaksis konstanta menggunakan karakter escape garis miring terbalik \ setelah karakter @. Contoh:

```none

dimension: id { type: string label: "@{id}" sql: ${TABLE}.id }




In this example, the [`label` parameter](/looker/docs/2620/reference/param-explore-label) displays the string **@{id}** as the label for the `id` dimension, rather than evaluating the `id` constant and outputting its value.

Constant references won't be evaluated if the brackets are not closed, in which case it is not necessary to escape constant syntax. Thus, `@{id` in the following example wouldn't be evaluated as a constant.


```none

dimension: id {
  type: string
  label: "@{id"
  sql: ${TABLE}.id
}