

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Sintaks variabel
<a name="v10-dash-variable-syntax"></a>

****  
**Topik dokumentasi ini dirancang untuk ruang kerja Grafana yang mendukung Grafana versi 10.x.**  
Untuk ruang kerja Grafana yang mendukung Grafana versi 12.x, lihat. [Bekerja di Grafana versi 12](using-grafana-v12.md)  
Untuk ruang kerja Grafana yang mendukung Grafana versi 9.x, lihat. [Bekerja di Grafana versi 9](using-grafana-v9.md)  
Untuk ruang kerja Grafana yang mendukung Grafana versi 8.x, lihat. [Bekerja di Grafana versi 8](using-grafana-v8.md)

Judul panel dan kueri metrik dapat merujuk ke variabel menggunakan dua sintaks yang berbeda.
+ `$varname`— Sintaks ini mudah dibaca, tetapi tidak memungkinkan Anda untuk menggunakan variabel di tengah kata.

  **Contoh:** `apps.frontend.$server.requests.count`
+ `${var_name}`— Gunakan sintaks ini ketika Anda ingin menggunakan variabel di tengah ekspresi.
+ `${var_name:<format>}`— Format ini memberi Anda kontrol lebih besar atas bagaimana Grafana menafsirkan nilai. Untuk informasi selengkapnya, lihat *Opsi format variabel lanjutan*, mengikuti daftar ini.
+ `[[varname]]`- Jangan gunakan. Sintaks ini sudah tua dan sudah usang. Ini akan dihapus dalam rilis future.

Sebelum kueri dikirim ke sumber data Anda, kueri *diinterpolasi*, artinya variabel diganti dengan nilai saat ini. Selama interpolasi, nilai variabel mungkin *lolos* agar sesuai dengan sintaks bahasa kueri dan di mana ia digunakan. Misalnya, variabel yang digunakan dalam ekspresi regex dalam kueri InfluxDB atau Prometheus akan diloloskan regex.

**Opsi format variabel lanjutan**

Pemformatan interpolasi variabel tergantung pada sumber data, tetapi ada beberapa situasi di mana Anda mungkin ingin mengubah format default.

Misalnya, default untuk sumber data MySQL adalah menggabungkan beberapa nilai sebagai dipisahkan koma dengan tanda kutip:. `'server01','server02'` Dalam beberapa kasus, Anda mungkin ingin memiliki string yang dipisahkan koma tanpa tanda kutip:. `server01,server02` Anda dapat mewujudkannya dengan opsi pemformatan variabel lanjutan yang tercantum di bawah ini.

**Sintaks umum**

Sintaks: `${var_name:option}`

Jika ada opsi pemformatan yang tidak valid ditentukan, maka `glob` adalah opsi. default/fallback 

**CSV**

Memformat variabel dengan beberapa nilai sebagai string yang dipisahkan koma.

```
servers = [ 'test1',  'test2' ]
String to interpolate:  '${servers:csv}'
Interpolation result:  'test1,test2'
```

**Didistribusikan - OpenTSDB**

Memformat variabel dengan beberapa nilai dalam format khusus untuk OpenTSDB.

```
servers = [ 'test1',  'test2' ]
String to interpolate:  '${servers:distributed}'
Interpolation result:  'test1,servers=test2'
```

**Kutipan ganda**

Memformat variabel tunggal dan multi-nilai menjadi string yang dipisahkan koma, lolos `"` di setiap nilai dengan `\"` dan mengutip setiap nilai dengan. `"`

```
servers = [ 'test1',  'test2' ]
String to interpolate:  '${servers:doublequote}'
Interpolation result:  '"test1","test2"'
```

**Glob - Grafit**

Memformat variabel dengan beberapa nilai menjadi gumpalan (untuk kueri Grafit).

```
servers = [ 'test1',  'test2' ]
String to interpolate:  '${servers:glob}'
Interpolation result:  '{test1,test2}'
```

**JSON**

Memformat variabel dengan beberapa nilai sebagai string yang dipisahkan koma.

```
servers = [ 'test1',  'test2' ]
String to interpolate:  '${servers:json}'
Interpolation result:  '["test1", "test2"]'
```

**Lucene - Elasticsearch**

Memformat variabel dengan beberapa nilai dalam format Lucene untuk Elasticsearch.

```
servers = [ 'test1',  'test2' ]
String to interpolate:  '${servers:lucene}'
Interpolation result:  '("test1" OR "test2")'
```

**Kode Persentase**

Memformat variabel tunggal dan multivalued untuk digunakan dalam parameter URL.

```
servers = [ 'foo()bar BAZ',  'test2' ]
String to interpolate:  '${servers:percentencode}'
Interpolation result:  'foo%28%29bar%20BAZ%2Ctest2'
```

**Pipa**

Memformat variabel dengan beberapa nilai menjadi string yang dipisahkan pipa.

```
servers = [ 'test1.',  'test2' ]
String to interpolate:  '${servers:pipe}'
Interpolation result:  'test1.|test2'
```

**Mentah**

Menonaktifkan pemformatan khusus sumber data, seperti tanda kutip tunggal dalam kueri SQL.

```
servers = [ 'test.1',  'test2' ]
String to interpolate:  '${var_name:raw}'
Interpolation result:  'test.1,test2'
```

**Regex**

Memformat variabel dengan beberapa nilai menjadi string regex.

```
servers = [ 'test1.',  'test2' ]
String to interpolate:  '${servers:regex}'
Interpolation result:  '(test1\.|test2)'
```

**Singlequote**

Memformat variabel tunggal dan multi-nilai menjadi string yang dipisahkan koma, lolos `'` di setiap nilai dengan `\'` dan mengutip setiap nilai dengan. `'`

```
servers = [ 'test1',  'test2' ]
String to interpolate:  '${servers:singlequote}'
Interpolation result:  "'test1','test2'"
```

**Sqlstring**

Memformat variabel tunggal dan multi-nilai menjadi string yang dipisahkan koma, lolos `'` di setiap nilai dengan `''` dan mengutip setiap nilai dengan. `'`

```
servers = [ "test'1",  "test2" ]
String to interpolate:  '${servers:sqlstring}'
Interpolation result:  "'test''1','test2'"
```

**Teks**

Memformat variabel tunggal dan multi-nilai ke dalam representasi teks mereka. Untuk satu variabel, itu hanya akan mengembalikan representasi teks. Untuk variabel multi-nilai, itu akan mengembalikan representasi teks yang digabungkan dengan`+`.

```
servers = [ "test1",  "test2" ]
String to interpolate:  '${servers:text}'
Interpolation result:  "test1 + test2"
```

**Parameter kueri**

Memformat variabel tunggal dan multi-nilai ke dalam representasi parameter kueri mereka. Contoh: `var-foo=value1&var-foo=value2`

```
servers = [ "test1",  "test2" ]
String to interpolate:  '${servers:queryparam}'
Interpolation result:  "var-servers=test1&var-servers=test2"
```