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 project impor

Definisi

Parameter constant menentukan konstanta LookML, yang memungkinkan Anda 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 export subparameter 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 impor yang mereferensikan konstanta menggunakan nilai yang ditentukan dalam file manifes project impor di project impor. Parameter export menentukan apakah developer harus mengganti nilai konstanta dengan memberikan nilai baru untuk konstanta tersebut yang akan digunakan dalam project impor. Parameter export memiliki kemungkinan nilai berikut:

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

Konstanta hanya tersedia untuk file dari project tempat konstanta awalnya ditentukan. Oleh karena itu, konstanta yang ditentukan dalam project yang file-nya telah Anda impor hanya dapat digunakan oleh file yang diimpor, dan bukan oleh file yang ditentukan dalam project impor.

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

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 impor 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 project impor.

Contoh

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

Memberi label pada Eksplorasi dengan parameter constant

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

constant: city {
  value: "San Francisco"
}

Konstanta ini kemudian dapat direferensikan di bagian mana pun dari project Anda tempat string diterima, 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 Pengguna San Francisco dan Pesanan San Francisco di menu Eksplorasi dan di judul Eksplorasi, bukan label Pengguna dan Pesanan default.

Menggunakan parameter sql_table_name dengan konstanta

Misalkan Anda ingin membuat beberapa tampilan berdasarkan tabel dalam skema 02349_sfo. Untuk menghindari keharusan menentukan nilai 02349_sfo beberapa kali, Anda membuat konstanta bernama schema dalam file manifest.lkml untuk project Anda, sebagai 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 Pengguna 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 dengan 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 kapan saja Anda 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 Jumlah Total ukuran 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 Jumlah Total 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 Eksplorasi yang menjadi dasar elemen.

Sebagai contoh, misalkan 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"
}

Dalam file dasbor, Anda dapat menetapkan nilai model ke "@{model_name}" dan menetapkan nilai explore ke "@{explore_name}" untuk elemen dasbor mana pun yang Anda inginkan didasarkan pada model thelook dan Eksplorasi orders.

Misalnya, Anda mengedit LookML untuk elemen diagram batang 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 [Pratinjau]

Anda juga dapat menggunakan konstanta LookML dalam parameter instructions dari agen dasbor LookML untuk membagikan aturan bisnis atau panduan 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

Mereferensikan konstanta dalam definisi konstanta

Saat menentukan konstanta, Anda dapat mereferensikan konstanta lain yang ditentukan dalam file manifes untuk project Anda. Misalkan 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".

Meng-escape sintaksis konstanta

Jika Anda ingin menulis string yang menyerupai sintaksis konstanta, tetapi Anda 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/2614/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
}