Pelajari sintaksis dan penggunaan fungsi warna di Log Service.
Log Service mendukung fungsi warna berikut.
-
Dalam pernyataan analitik Log Service, Anda harus membungkus string dengan tanda petik tunggal ('). Karakter yang tidak dibungkus dengan tanda petik tunggal atau dibungkus dengan tanda petik ganda ("") dianggap sebagai nama field atau nama kolom. Misalnya, 'status' merepresentasikan string status, sedangkan status atau "status" merepresentasikan field log bernama status.
-
Konsol Log Service tidak merender hasil fungsi warna secara benar. Tampilkan hasilnya di terminal sebagai gantinya.
-
Tampilan konsol: Konsol menampilkan kode escape ANSI sebagai karakter mentah, seperti
\e[38;5;1m, bukan merendernya sebagai warna. -
Tampilan terminal
mysql> select pv,bar(pv/10.0,10 , color(0,50,100, rgb(255,0,0), rgb(0,255,0)), rgb(0,255,0)) from(select * from (VALUES (0),(1), (2), (3), (4), (5), (6), (7),(8),(9)) AS X(pv)); +------+----------------------------------------------------------------------+ | pv | _col1 | +------+----------------------------------------------------------------------+ | 0 | | | 1 | █ | | 2 | ██ | | 3 | ███ | | 4 | ████ | | 5 | █████ | | 6 | ██████ | | 7 | ███████ | | 8 | ████████ | | 9 | █████████ | +------+----------------------------------------------------------------------+ 10 rows in set (0.21 sec)
-
|
Function |
Syntax |
Description |
SQL support |
SPL support |
|
bar(x, width) |
Mengembalikan segmen grafik batang berdasarkan x dengan width tertentu dan gradien default dari merah ke hijau. |
√ |
× |
|
|
bar(x, width, low_color, high_color) |
Mengembalikan segmen grafik batang berdasarkan x dengan width tertentu serta warna awal dan akhir kustom. |
√ |
× |
|
|
color(string) |
Mengonversi string warna ke tipe |
√ |
× |
|
|
color(x, low, high, low_color, high_color) |
Memberikan bobot pada low_color dan high_color berdasarkan proporsi x antara low dan high, lalu mengembalikan warna antara low_color dan high_color. |
√ |
× |
|
|
color(y, low_color, high_color) |
Menggunakan y untuk menentukan proporsi low_color dan high_color serta mengembalikan warna antara low_color dan high_color. |
√ |
× |
|
|
render(boolean expression) |
Mengembalikan tanda centang hijau (✓) jika ekspresi boolean bernilai true, atau tanda silang merah (✗) jika tidak. |
√ |
× |
|
|
render(x, color) |
Merender hasil dalam warna kustom. |
√ |
× |
|
|
rgb(red, green, blue) |
Mengembalikan nilai warna berdasarkan nilai RGB. |
√ |
× |
bar function
Fungsi bar menggambar grafik batang ANSI.
Syntax
-
Mengembalikan segmen grafik batang berdasarkan x dengan lebar width tertentu dan gradien default dari merah ke hijau.
bar(x, width) -
Mengembalikan segmen grafik batang berdasarkan x dengan lebar width tertentu serta warna awal dan akhir kustom.
bar(x, width, low_color, high_color)
Parameters
|
Parameter |
Description |
|
x |
Proporsi batang yang akan dirender. Nilainya harus berupa DOUBLE dalam rentang [0, 1]. |
|
width |
Lebar penuh grafik batang ANSI. |
|
low_color |
Nilai RGB dari warna awal dalam gradien warna. |
|
high_color |
Nilai RGB dari warna akhir dalam gradien warna. |
Return value type
varchar
Examples
-
Contoh 1: Hitung rasio PV per jam dan tampilkan sebagai grafik batang ANSI.
-
Pernyataan analitik
* | SELECT Method, bar(pv/m,100) FROM( SELECT *, max(pv) over() AS m FROM( SELECT Method, count(1) AS pv FROM internal-operation_log WHERE __date__ > '2021-09-10 00:00:00' AND __date__ < '2021-09-10 01:00:00' GROUP BY Method ) ) -
Hasil kueri dan analisis (konsol): Kolom _col1 menampilkan grafik batang ANSI yang dihasilkan oleh fungsi
bar. -
Hasil kueri dan analisis (terminal)
+-----------------+----------------------------------------------+ | GetProjectLogs | ████████ | | GetLogStoreLogs | ████████████████████████████████████████████ | +-----------------+----------------------------------------------+ 2 rows in set (8.99 sec)
-
-
Contoh 2: Gambar grafik batang ANSI dengan lebar 50 menggunakan gradien putih ke merah.
-
Pernyataan analitik
* | SELECT bar(1,50,rgb(255,255,255),rgb(255,0,0)) -
Hasil kueri dan analisis (konsol): Kolom
_col0berisi kode escape ANSI yang dirender sebagai batang gradien putih ke merah. -
Hasil kueri dan analisis (terminal)
+------+------+ | _col0 | _col0 | +------+------+ | [white to red gradient bar] | | +------+------+ 1 row in set (0.20 sec)
-
color function
Fungsi color mengembalikan warna yang sesuai dengan nilai tertentu.
Syntax
-
Mengonversi string warna ke tipe
color.color(string) -
Proporsi x antara low dan high menentukan bobot untuk low_color dan high_color, lalu fungsi mengembalikan warna antara low_color dan high_color.
color(x, low, high, low_color, high_color) -
Menggunakan y untuk menentukan proporsi low_color dan high_color, lalu mengembalikan warna antara low_color dan high_color.
color(y, low_color, high_color)
Parameters
|
Parameter |
Description |
|
x |
Nilai DOUBLE. |
|
y |
Nilai DOUBLE dalam rentang [0, 1]. |
|
low |
Nilai minimum rentang, berupa DOUBLE. |
|
high |
Nilai maksimum rentang, berupa DOUBLE. |
|
low_color |
Nilai RGB dari warna awal dalam gradien warna. |
|
high_color |
Nilai RGB dari warna akhir dalam gradien warna. |
|
string |
String nama warna (misalnya, |
Return value type
color
Examples
-
Contoh 1: Konversi string warna ke tipe
color.-
Pernyataan analitik
* | SELECT color('#000') -
Hasil kueri dan analisis (konsol): Hasilnya adalah
#000000. -
Hasil kueri dan analisis (terminal)
mysql> SELECT color('#000'); +---------+ | _col0 | +---------+ | #000000 | +---------+ 1 row in set (0.21 sec)
-
-
Contoh 2: Hasilkan grafik batang ANSI berwarna dari sisa bidang request_length.
-
Pernyataan analitik
*|SELECT x,bar(10,10, color(x, 0,10, rgb(255,0,0), rgb(0,255,0)), rgb(0,255,0)) FROM(SELECT *FROM (SELECT request_length%10 x FROM log)) -
Hasil kueri dan analisis (konsol): Kolom
xmenampilkan nilai numerik, dan kolom_col1menampilkan grafik batang dengan warna yang berubah dari merah ke hijau berdasarkanx. -
Hasil kueri dan analisis (terminal)
| x | _col1 | |------|--------------------------------| | 1 | [colored gradient bar] | | 6 | [colored gradient bar] | | 4 | [colored gradient bar] | | 7 | [colored gradient bar] | | 7 | [colored gradient bar] | | 0 | [colored gradient bar] | 6 rows in set (0.21 sec)
-
-
Contoh 3: Hasilkan grafik batang ANSI dengan warna awal proporsional.
-
Pernyataan analitik
*|SELECT bar(10,10, color(0.3, rgb(255,255,255), rgb(255,0,0)), rgb(0,255,0)) -
Hasil kueri dan analisis (konsol): Hasilnya berisi kode escape ANSI yang menampilkan batang gradien warna.
-
Hasil kueri dan analisis (terminal)
mysql> select bar(10,10 , color(0.3, rgb(255,255,255), rgb(255,0,0)), rgb(0,255,0)); +----------------------------------------------------------------------+ | _col0 | +----------------------------------------------------------------------+ | ██████████ | +----------------------------------------------------------------------+ 1 row in set (0.21 sec)
-
render function
Fungsi render memformat output dengan warna atau simbol.
Syntax
-
Mengembalikan tanda centang hijau (✓) jika ekspresi boolean bernilai true, atau tanda silang merah (✗) jika tidak.
render(boolean expression) -
Merender hasil dalam warna kustom.
render(x, color)
Parameters
|
Parameter |
Description |
|
boolean expression |
Ekspresi boolean yang akan dievaluasi. |
|
x |
Nilai INTEGER yang akan dirender. |
|
color |
Warna yang digunakan untuk rendering. Parameter ini bertipe |
Return value type
varchar
Examples
-
Contoh 1: Periksa apakah jumlah PV kurang dari 1.000. Mengembalikan ✓ jika true.
-
Pernyataan analitik
* | SELECT render(count(*)<1000) -
Hasil kueri dan analisis (konsol): Konsol menampilkan kode escape ANSI sebagai karakter mentah, seperti
\e[38;5;1m, bukan merendernya sebagai warna. -
Hasil kueri dan analisis (terminal)
mysql> select render(count(*)<1000); +------------------+ | _col0 | +------------------+ | ✓ | +------------------+ 1 row in set (0.22 sec)
-
-
Contoh 2: Hitung total log dan render hasilnya dalam warna hijau.
-
Pernyataan analitik
* | SELECT render(count(*),rgb(48,169,16)) -
Hasil kueri dan analisis (konsol)
_col0 \e[38;5;70m1\e[0m -
Hasil kueri dan analisis (terminal)
mysql> select render(count(*),rgb(48,169,16)); +----------------+ | _col0 | +----------------+ | 1 | +----------------+ 1 row in set (0.21 sec)
-
rgb function
Fungsi rgb membuat warna dari nilai RGB yang ditentukan.
Syntax
rgb(red, green, blue)
Parameters
|
Parameter |
Description |
|
red |
Komponen merah dari warna, berupa bilangan bulat dari 0 hingga 255. |
|
green |
Komponen hijau dari warna, berupa bilangan bulat dari 0 hingga 255. |
|
blue |
Komponen biru dari warna, berupa bilangan bulat dari 0 hingga 255. |
Return value type
color
Examples
Mengembalikan warna berdasarkan nilai RGB.
-
Pernyataan analitik
*|SELECT rgb(255,0,0) -
Hasil kueri dan analisis (konsol): Kolom
_col0mengembalikan#ff0000. -
Hasil kueri dan analisis (terminal)
select rgb(255,0,0); +---------+ | _col0 | +---------+ | #ff0000 | +---------+ 1 row in set (0.21 sec)