Fungsi dan operator Looker

Jika admin telah memberi Anda izin untuk membuat penghitungan tabel, Anda dapat menggunakan fitur berikut untuk melakukan fungsi umum dengan cepat tanpa perlu membuat ekspresi Looker:

  • Kalkulasi Pintasan untuk melakukan kalkulasi umum dengan cepat pada kolom numerik yang ada di tabel data Eksplorasi

Jika admin telah memberi Anda izin untuk membuat kolom kustom, Anda dapat menggunakan fitur berikut untuk melakukan fungsi umum dengan cepat tanpa perlu membuat ekspresi Looker:

  • Grup kustom untuk mengelompokkan nilai dengan cepat di bawah label kustom tanpa perlu mengembangkan logika CASE WHEN di parameter sql atau kolom type: case

  • Kelompok kustom untuk mengelompokkan dimensi jenis numerik dalam tingkat kustom tanpa perlu mengembangkan kolom LookML type: tier

Ekspresi Looker (terkadang disebut Lexp) digunakan untuk menjalankan kalkulasi untuk:

Sebagian besar ekspresi ini terdiri dari fungsi dan operator yang dapat Anda gunakan di dalamnya. Fungsi dan operator dapat dibagi ke dalam beberapa kategori dasar:

Sebagian fungsi hanya tersedia untuk kalkulasi tabel

Ekspresi Looker untuk custom filters dan custom fields tidak mendukung fungsi Looker yang dapat mengonversi jenis data, menggabungkan data dari banyak baris, atau mengacu pada baris atau kolom pivot lain. Fungsi ini hanya didukung untuk kalkulasi tabel (termasuk kalkulasi tabel yang digunakan dalam parameter expression dari pengujian data).

Halaman ini disusun untuk mengklarifikasi fungsi dan operator mana yang tersedia, bergantung pada di mana Anda menggunakan ekspresi Looker.

Fungsi dan operator matematika

Fungsi dan operator matematika bekerja dengan salah satu dari dua cara:

  • Beberapa fungsi matematika melakukan perhitungan berdasarkan satu baris. Misalnya, pembulatan, pengambilan akar kuadrat, perkalian, dan fungsi serupa dapat digunakan untuk nilai dalam satu baris, yang menampilkan nilai berbeda untuk setiap baris. Semua operator matematika, seperti +, diterapkan satu baris dalam satu waktu.
  • Fungsi matematika lainnya, seperti rata-rata dan total berjalan, beroperasi di banyak baris. Fungsi ini mengambil banyak baris dan mereduksinya menjadi satu angka, lalu menampilkan angka yang sama di setiap baris.

Fungsi untuk ekspresi Looker apa pun

Fungsi Sintaks Tujuan
abs abs(value) Menampilkan nilai absolut value.

Untuk melihat contohnya, lihat postingan Komunitas Standard Deviation and Simple Time Series Outlier Detection Using Table Calculations.
ceiling ceiling(value) Menampilkan bilangan bulat terkecil yang lebih besar dari atau sama dengan value.
exp exp(value) Menampilkan e pangkat value.
floor floor(value) Menampilkan bilangan bulat terbesar yang lebih kecil dari atau sama dengan value.
ln ln(value) Menampilkan logaritma natural dari value.
log log(value) Menampilkan logaritma basis 10 dari value.
mod mod(value, divisor) Menampilkan sisa pembagian value dengan divisor.
power power(base, exponent) Menampilkan base yang dipangkatkan dengan exponent.

Untuk melihat contohnya, lihat postingan Komunitas Standard Deviation and Simple Time Series Outlier Detection Using Table Calculations.
rand rand() Menampilkan angka acak antara 0 dan 1.
round round(value, num_decimals) Menampilkan value yang dibulatkan ke num_decimals tempat desimal.

Untuk contoh penggunaan round, lihat postingan Komunitas Menggunakan pivot_index dalam kalkulasi tabel dan Deteksi Anomali Deret Waktu Sederhana dan Standar Deviasi Menggunakan Kalkulasi Tabel.
sqrt sqrt(value) Menampilkan akar kuadrat dari value.

Untuk melihat contohnya, lihat postingan Komunitas Standard Deviation and Simple Time Series Outlier Detection Using Table Calculations.

Fungsi hanya untuk kalkulasi tabel

Banyak fungsi ini beroperasi di banyak baris dan hanya akan mempertimbangkan baris yang ditampilkan oleh kueri Anda.

Fungsi Sintaks Tujuan
acos acos(value) Menampilkan kosinus terbalik dari value.
asin asin(value) Menampilkan sinus invers dari value.
atan atan(value) Menampilkan tangen terbalik dari value.
beta_dist beta_dist(value, alpha, beta, cumulative) Menampilkan posisi value pada distribusi beta dengan parameter alpha dan beta. Jika cumulative = yes, menampilkan probabilitas kumulatif.
beta_inv beta_inv(probability, alpha, beta) Menampilkan posisi probability pada distribusi beta kumulatif terbalik dengan parameter alpha dan beta.
binom_dist binom_dist(num_successes, num_tests, probability, cumulative) Menampilkan probabilitas mendapatkan num_successes keberhasilan dalam num_tests pengujian dengan probability keberhasilan tertentu. Jika cumulative = yes, menampilkan probabilitas kumulatif.
binom_inv binom_inv(num_tests, test_probability, target_probability) Menampilkan bilangan terkecil k sehingga binom(k, num_tests, test_probability, yes) >= target_probability.
chisq_dist chisq_dist(value, dof, cumulative) Menampilkan posisi value pada distribusi gamma dengan derajat kebebasan dof. Jika cumulative = yes, menampilkan probabilitas kumulatif.
chisq_inv chisq_inv(probability, dof) Menampilkan posisi probability pada distribusi gamma kumulatif terbalik dengan derajat kebebasan dof.
chisq_test chisq_test(actual, expected) Menampilkan probabilitas untuk uji kai kuadrat (chi-squared test) untuk independensi antara data actual dan expected. actual dapat berupa kolom atau kolom daftar, dan expected harus berjenis sama.
combin combin(set_size, selection_size) Menampilkan jumlah cara memilih selection_size elemen dari kumpulan berukuran set_size.
confidence_norm confidence_norm(alpha, stdev, n) Menampilkan setengah lebar interval kepercayaan normal pada tingkat signifikansi alpha, simpangan baku stdev, dan ukuran sampel n.
confidence_t confidence_t(alpha, stdev, n) Menampilkan setengah lebar interval keyakinan distribusi t-Student pada tingkat signifikansi alpha, simpangan baku stdev, dan ukuran sampel n.
correl correl(column_1, column_2) Menampilkan koefisien korelasi column_1 dan column_2.
cos cos(value) Menampilkan kosinus value.
count count(expression) Menampilkan jumlah nilai non-null dalam kolom yang ditentukan oleh expression, kecuali jika expression menentukan kolom daftar, yang dalam hal ini menampilkan jumlah dalam setiap daftar.
count_distinct count_distinct(expression) Menampilkan jumlah nilai non-null yang berbeda dalam kolom yang ditentukan oleh expression, kecuali jika expression menentukan kolom daftar, yang dalam hal ini menampilkan jumlah di setiap daftar.
covar_pop covar_pop(column_1, column_2) Menampilkan kovarians populasi column_1 dan column_2.
covar_samp covar_samp(column_1, column_2) Menampilkan kovarians sampel column_1 dan column_2.
degrees degrees(value) Mengonversi value dari radian ke derajat.
expon_dist expon_dist(value, lambda, cumulative) Menampilkan posisi value pada distribusi eksponensial dengan parameter lambda. Jika cumulative = yes, menampilkan probabilitas kumulatif.
f_dist f_dist(value, dof_1, dof_2, cumulative) Menampilkan posisi value pada distribusi F dengan parameter dof_1 dan dof_2. Jika cumulative = yes, menampilkan probabilitas kumulatif.
f_inv f_inv(probability, dof_1, dof_2) Menampilkan posisi probability pada distribusi F kumulatif terbalik dengan parameter dof_1 dan dof_2.
fact fact(value) Menampilkan faktorial value.
gamma_dist gamma_dist(value, alpha, beta, cumulative) Menampilkan posisi value pada distribusi gamma dengan parameter alpha dan beta. Jika cumulative = yes, menampilkan probabilitas kumulatif.
gamma_inv gamma_inv(probability, alpha, beta) Menampilkan posisi probability pada distribusi gamma kumulatif terbalik dengan parameter alpha dan beta.
geomean geomean(expression) Menampilkan rata-rata geometris kolom yang dibuat oleh expression kecuali jika expression menentukan kolom daftar, yang dalam hal ini menampilkan rata-rata geometris setiap daftar.
hypgeom_dist hypgeom_dist(sample_successes, sample_size, population_successes, population_size, cumulative) Menampilkan probabilitas mendapatkan sample_successes dari sample_size, jumlah population_successes, dan population_size yang diberikan. Jika cumulative = yes, menampilkan probabilitas kumulatif.
intercept intercept(y_column, x_column) Menampilkan titik potong garis regresi linier melalui titik-titik yang ditentukan oleh y_column dan x_column.

Untuk melihat contoh, lihat postingan Komunitas Cara Membuat Perkiraan di Looker dengan Penghitungan Tabel.
kurtosis kurtosis(expression) Menampilkan kurtosis berlebih sampel kolom yang dibuat oleh expression kecuali jika expression menentukan kolom daftar, yang dalam hal ini menampilkan kurtosis berlebih sampel setiap daftar.
large large(expression, k) Menampilkan nilai terbesar ke-k dari kolom yang dibuat oleh expression, kecuali jika expression menentukan kolom daftar, yang dalam hal ini akan menampilkan nilai terbesar ke-k dari setiap daftar.
match match(value, expression) Menampilkan nomor baris kemunculan pertama value di kolom yang dibuat oleh expression, kecuali jika expression menentukan kolom daftar, dalam hal ini menampilkan posisi value di setiap daftar.
max max(expression) Menampilkan nilai maksimum kolom yang dibuat oleh expression, kecuali jika expression menentukan kolom daftar, yang dalam hal ini akan menampilkan nilai maksimum setiap daftar.

Untuk contoh penggunaan max, lihat postingan Komunitas Menggunakan daftar dalam kalkulasi tabel dan Mengelompokkan menurut dimensi dalam kalkulasi tabel.
mean mean(expression) Menampilkan rata-rata kolom yang dibuat oleh expression kecuali jika expression menentukan kolom daftar, yang dalam hal ini akan menampilkan rata-rata setiap daftar.

Untuk contoh penggunaan mean, lihat postingan Komunitas Menghitung Rata-Rata Bergerak dan postingan Komunitas Deteksi pencilan deret waktu sederhana dan Standar Deviasi menggunakan Kalkulasi Tabel.
median median(expression) Menampilkan median kolom yang dibuat oleh expression kecuali jika expression menentukan kolom daftar, yang dalam hal ini akan menampilkan median setiap daftar.
min min(expression) Menampilkan nilai minimum kolom yang dibuat oleh expression kecuali jika expression menentukan kolom daftar, yang dalam hal ini akan menampilkan nilai minimum setiap daftar.
mode mode(expression) Menampilkan mode kolom yang dibuat oleh expression kecuali jika expression menentukan kolom daftar, yang dalam hal ini akan menampilkan mode setiap daftar.
multinomial multinomial(value_1, value_2, ...) Menampilkan faktorial jumlah argumen yang dibagi dengan hasil faktorial setiap argumen.
negbinom_dist negbinom_dist(num_failures, num_successes, probability, cumulative) Menampilkan probabilitas mendapatkan num_failures kegagalan sebelum mendapatkan num_successes keberhasilan, dengan probability keberhasilan yang diberikan. Jika cumulative = yes, menampilkan probabilitas kumulatif.
norm_dist norm_dist(value, mean, stdev, cumulative) Menampilkan posisi value pada distribusi normal dengan mean dan stdev yang diberikan. Jika cumulative = yes, menampilkan probabilitas kumulatif.
norm_inv norm_inv(probability, mean, stdev) Menampilkan posisi probability pada distribusi kumulatif normal terbalik.
norm_s_dist norm_s_dist(value, cumulative) Menampilkan posisi value pada distribusi normal baku. Jika cumulative = yes, menampilkan probabilitas kumulatif.
norm_s_inv norm_s_inv(probability) Menampilkan posisi probability pada distribusi kumulatif normal baku terbalik.
percent_rank percent_rank(column, value) Mengembalikan peringkat value dalam column sebagai persentase dari 0 hingga 1 inklusif, dengan column adalah kolom, kolom, daftar, atau rentang yang berisi set data yang akan dipertimbangkan; dan value adalah kolom dengan nilai yang peringkat persentasenya akan ditentukan.

Contoh Penggunaan:

percent_rank(${view_name.field_1}, ${view_name.field_1})

percent_rank(list(1, 2, 3), ${view_name.field_1})

percent_rank(list(1, 2, 3), 2)
percentile percentile(expression, percentile_value) Menampilkan nilai dari kolom yang dibuat oleh expression yang sesuai dengan percentile_value yang diberikan, kecuali jika expression menentukan kolom daftar, yang dalam hal ini menampilkan nilai persentil untuk setiap daftar. percentile_value harus antara 0 dan 1; jika tidak, akan menampilkan null.
pi pi() Menampilkan nilai pi.
poisson_dist poisson_dist(value, lambda, cumulative) Menampilkan posisi value pada distribusi poisson dengan parameter lambda. Jika cumulative = yes, menampilkan probabilitas kumulatif.
product product(expression) Menampilkan produk kolom yang dibuat oleh expression kecuali jika expression menentukan kolom daftar, yang dalam hal ini menampilkan produk setiap daftar.
radians radians(value) Mengonversi value dari derajat ke radian.
rank rank(value, expression) Menampilkan peringkat value dalam kolom yang dibuat oleh expression. Misalnya, jika Anda ingin memberi peringkat pesanan berdasarkan harga jual totalnya, Anda dapat menggunakan rank(${order_items.total_sale_price},${order_items.total_sale_price}), yang memberikan peringkat untuk setiap nilai order_items.total_sale_price dalam kueri Anda saat membandingkannya dengan seluruh kolom order_items.total_sale_price dalam kueri Anda. Jika expression menentukan beberapa daftar, fungsi ini akan menampilkan ukuran relatif value dalam setiap daftar.

Untuk contoh, lihat postingan Komunitas Peringkat dengan Penghitungan Tabel.
rank_avg rank_avg(value, expression) Menampilkan peringkat rata-rata value dalam kolom yang dibuat oleh expression, kecuali jika expression menentukan kolom daftar, yang dalam hal ini akan menampilkan peringkat rata-rata value dalam setiap daftar.
running_product running_product(value_column) Menampilkan produk berjalan dari nilai dalam value_column.
running_total running_total(value_column) Menampilkan total berjalan dari nilai dalam value_column.

Untuk mengetahui contohnya, lihat halaman Praktik Terbaik Membuat Total Kolom yang Berjalan dengan Kalkulasi Tabel.
sin sin(value) Menampilkan sinus value.
skew skew(expression) Menampilkan kemiringan sampel kolom yang dibuat oleh expression kecuali jika expression menentukan kolom daftar, yang dalam hal ini menampilkan kemiringan sampel setiap daftar.
slope slope(y_column, x_column) Menampilkan kemiringan garis regresi linier melalui titik yang ditentukan oleh y_column dan x_column.

Untuk melihat contoh, lihat postingan Komunitas Cara Membuat Perkiraan di Looker dengan Penghitungan Tabel.
small small(expression, k) Menampilkan nilai terkecil ke-k dari kolom yang dibuat oleh expression, kecuali jika expression menentukan kolom daftar, yang dalam hal ini akan menampilkan nilai terkecil ke-k dari setiap daftar.
stddev_pop stddev_pop(expression) Menampilkan simpangan baku (populasi) kolom yang dibuat oleh expression kecuali jika expression menentukan kolom daftar, yang dalam hal ini akan menampilkan simpangan baku (populasi) setiap daftar.
stddev_samp stddev_samp(expression) Menampilkan simpangan baku (sampel) kolom yang dibuat oleh expression kecuali jika expression menentukan kolom daftar, yang dalam hal ini menampilkan simpangan baku (sampel) setiap daftar.
sum sum(expression) Menampilkan jumlah kolom yang dibuat oleh expression kecuali jika expression menentukan kolom daftar, yang dalam hal ini menampilkan jumlah setiap daftar.

Untuk contoh penggunaan sum, lihat halaman Praktik Terbaik Menggabungkan Seluruh Baris (Total Baris) dalam Kalkulasi Tabel dan Cara Menghitung Persentase Total.
t_dist t_dist(value, dof, cumulative) Menampilkan posisi value pada distribusi t Student dengan dof derajat kebebasan. Jika cumulative = yes, menampilkan probabilitas kumulatif.
t_inv t_inv(probability, dof) Menampilkan posisi probability pada distribusi kumulatif normal terbalik dengan derajat kebebasan dof.
t_test t_test(column_1, column_2, tails, type) Menampilkan hasil uji t t pada data dari column_1 dan column_2, menggunakan 1 atau 2 tails. type: 1 = berpasangan, 2 = homoskedastik, 3 = heteroskedastik.
tan tan(value) Menampilkan tangen value.
var_pop var_pop(expression) Menampilkan varians (populasi) kolom yang dibuat oleh expression kecuali jika expression menentukan kolom daftar, yang dalam hal ini menampilkan varians (populasi) setiap daftar.
var_samp var_samp(expression) Menampilkan varians (sampel) kolom yang dibuat oleh expression kecuali jika expression menentukan kolom daftar, yang dalam hal ini menampilkan varians (sampel) setiap daftar.
weibull_dist weibull_dist(value, shape, scale, cumulative) Menampilkan posisi value pada distribusi Weibull dengan parameter shape dan scale. Jika cumulative = yes, menampilkan probabilitas kumulatif.
z_test z_test(data, value, stdev) Menampilkan nilai p satu arah dari uji z menggunakan data dan stdev yang ada pada rata-rata value yang dihipotesiskan.

Operator untuk ekspresi Looker apa pun

Anda dapat menggunakan operator matematika standar berikut:

Operator Sintaks Tujuan
+ value_1 + value_2 Menambahkan value_1 dan value_2.
- value_1 - value_2 Mengurangi value_2 dari value_1.
* value_1 * value_2 Mengalikan value_1 dan value_2.
/ value_1 / value_2 Membagi value_1 dengan value_2.

Fungsi string

Fungsi string beroperasi pada kalimat, kata, atau huruf, yang secara kolektif disebut "string". Anda dapat menggunakan fungsi string untuk membuat huruf pertama kata menjadi huruf kapital, mengekstrak bagian frasa, memeriksa apakah suatu kata atau huruf ada dalam frasa, atau mengganti elemen kata atau frasa. Fungsi string juga dapat digunakan untuk memformat data yang ditampilkan dalam tabel.

Fungsi untuk ekspresi Looker apa pun

Fungsi Sintaks Tujuan
concat concat(value_1, value_2, ...) Menampilkan value_1, value_2, ..., value_n yang digabungkan sebagai satu string.
contains contains(string, search_string) Menampilkan Yes jika string berisi search_string, dan No jika tidak. Fungsi contains peka huruf besar/kecil.
length length(string) Menampilkan jumlah karakter dalam string.
lower lower(string) Menampilkan string dengan semua karakter dikonversi menjadi huruf kecil.
position position(string, search_string) Menampilkan indeks awal search_string di string jika ada, dan 0 jika tidak.
replace replace(string, old_string, new_string) Menampilkan string dengan semua kemunculan old_string diganti dengan new_string.
substring substring(string, start_position, length) Menampilkan substring string, dimulai dari start_position, yang terdiri dari length karakter. start_position dimulai dari 1, dengan 1 menunjukkan karakter pertama dalam string, 2 menunjukkan karakter kedua dalam string, dan seterusnya.
upper upper(string) Menampilkan string dengan semua karakter dikonversi menjadi huruf besar.

Fungsi hanya untuk kalkulasi tabel

Fungsi Sintaks Tujuan
split split(string, delimeter) Menampilkan daftar string di string yang dipecah berdasarkan delimiter.
to_number to_number(string) Menampilkan angka yang diwakili oleh string, atau null jika string tidak dapat dikonversi.
to_string to_string(value) Menampilkan representasi string dari value, atau string kosong jika value adalah null.

Fungsi tanggal

Fungsi tanggal memungkinkan Anda menggunakan tanggal dan waktu.

Fungsi untuk ekspresi Looker apa pun

Fungsi Sintaks Tujuan
add_days add_days(number, date) Menambahkan number hari ke date.
add_hours add_hours(number, date) Menambahkan number jam ke date.
add_minutes add_minutes(number, date) Menambahkan number menit ke date.
add_months add_months(number, date) Menambahkan number bulan ke date.
add_seconds add_seconds(number, date) Menambahkan number detik ke date.
add_years add_years(number, date) Menambahkan number tahun ke date.
date date(year, month, day) Menampilkan tanggal "year-month-day" atau null jika tanggal tidak valid.
date_time date_time(year, month, day, hours, minutes, seconds) Menampilkan tanggal year-month-day hours:minutes:seconds atau null jika tanggal tidak valid.
diff_days diff_days(start_date, end_date) Menampilkan jumlah hari antara start_date dan end_date.

Untuk contohnya, lihat postingan Komunitas Menggunakan tanggal dalam penghitungan tabel.
diff_hours diff_hours(start_date, end_date) Menampilkan jumlah jam antara start_date dan end_date.
diff_minutes diff_minutes(start_date, end_date) Menampilkan jumlah menit antara start_date dan end_date.

Untuk contohnya, lihat postingan Komunitas Menggunakan tanggal dalam penghitungan tabel.
diff_months diff_months(start_date, end_date) Menampilkan jumlah bulan antara start_date dan end_date.

Untuk contoh, lihat postingan Komunitas Mengelompokkan menurut dimensi dalam penghitungan tabel.
diff_seconds diff_seconds(start_date, end_date) Menampilkan jumlah detik antara start_date dan end_date.
diff_years diff_years(start_date, end_date) Menampilkan jumlah tahun antara start_date dan end_date.
extract_days extract_days(date) Mengekstrak hari dari date.

Untuk contohnya, lihat postingan Komunitas Menggunakan tanggal dalam penghitungan tabel.
extract_hours extract_hours(date) Mengekstrak jam dari date.
extract_minutes extract_minutes(date) Mengekstrak menit dari date.
extract_months extract_months(date) Mengekstrak bulan dari date.
extract_seconds extract_seconds(date) Mengekstrak detik dari date.
extract_years extract_years(date) Mengekstrak tahun dari date.
now now() Menampilkan tanggal dan waktu saat ini.

Untuk contoh penggunaan now, lihat postingan Komunitas Fungsi Kalkulasi Tabel Now() Memiliki Penanganan Zeitzone yang Lebih Baik dan Menggunakan tanggal dalam kalkulasi tabel.
trunc_days trunc_days(date) Memangkas date menjadi hari.
trunc_hours trunc_hours(date) Memangkas date menjadi jam.
trunc_minutes trunc_minutes(date) Memangkas date menjadi menit.
trunc_months trunc_months(date) Memangkas date menjadi bulan.
trunc_years trunc_years(date) Memangkas date menjadi tahun.

Fungsi hanya untuk kalkulasi tabel

Fungsi Sintaks Tujuan
to_date to_date(string) Menampilkan tanggal dan waktu yang sesuai dengan string (YYYY, YYYY-MM, YYYY-MM-DD, YYYY-MM-DD hh, YYYY-MM-DD hh:mm, atau YYYY-MM-DD hh:mm:ss).

Fungsi, operator, dan konstanta logika

Fungsi dan operator logis digunakan untuk menilai apakah sesuatu benar atau salah. Ekspresi yang menggunakan elemen ini mengambil nilai, mengevaluasinya berdasarkan beberapa kriteria, menampilkan Yes jika kriteria terpenuhi, dan No jika kriteria tidak terpenuhi. Ada juga berbagai operator logika untuk membandingkan nilai dan menggabungkan ekspresi logis.

Fungsi untuk ekspresi Looker apa pun

Fungsi Sintaks Tujuan
case case(when(yesno_arg, value_if_yes), when(yesno_arg, value_if_yes), ..., else_value) Ditambahkan 21.10 Memungkinkan logika bersyarat dengan beberapa kondisi dan hasil. Menampilkan value_if_yes untuk kasus when pertama yang nilai yesno_arg-nya adalah yes. Menampilkan else_value jika semua kasus when adalah no.
coalesce coalesce(value_1, value_2, ...) Menampilkan nilai non-null pertama di value_1, value_2, ..., value_n jika ditemukan dan null jika tidak.

Untuk contoh penggunaan coalesce, lihat postingan Komunitas Membuat total berjalan di seluruh baris dengan kalkulasi tabel, Membuat persentase total di seluruh baris dengan kalkulasi tabel, dan Menggunakan pivot_index dalam kalkulasi tabel.
if if(yesno_expression, value_if_yes, value_if_no) Jika yesno_expression dievaluasi menjadi Yes, akan menampilkan nilai value_if_yes. Jika tidak, menampilkan nilai value_if_no.

Untuk contoh, lihat postingan Komunitas Mengelompokkan menurut dimensi dalam penghitungan tabel.
is_null is_null(value) Menampilkan Yes jika value adalah null, dan No jika tidak.

Sebagai contoh, lihat halaman dokumentasi Membuat ekspresi Looker. Untuk contoh lain yang menggunakan is_null dengan operator NOT, lihat halaman dokumentasi Menggunakan penghitungan tabel.

Operator untuk ekspresi Looker apa pun

Operator perbandingan berikut dapat digunakan dengan semua jenis data:

Operator Sintaks Tujuan
= value_1 = value_2 Menampilkan Yes jika value_1 sama dengan value_2, dan No jika tidak.
!= value_1 != value_2 Menampilkan Yes jika value_1 tidak sama dengan value_2, dan No jika tidak.

Operator perbandingan berikut dapat digunakan dengan angka, tanggal, dan string:

Operator Sintaks Tujuan
> value_1 > value_2 Menampilkan Yes jika value_1 lebih besar dari value_2, dan No jika sebaliknya.
< value_1 < value_2 Menampilkan Yes jika value_1 kurang dari value_2, dan No jika sebaliknya.
>= value_1 >= value_2 Menampilkan Yes jika value_1 lebih besar dari atau sama dengan value_2, dan No jika sebaliknya.
<= value_1 <= value_2 Menampilkan Yes jika value_1 kurang dari atau sama dengan value_2, dan No jika sebaliknya.

Anda juga dapat menggabungkan ekspresi Looker dengan operator logika berikut:

Operator Sintaks Tujuan
AND value_1 AND value_2 Menampilkan Yes jika value_1 dan value_2 adalah Yes, dan No jika tidak.
OR value_1 OR value_2 Menampilkan Yes jika value_1 atau value_2 adalah Yes, dan No jika tidak.
NOT NOT value Menampilkan Yes jika value adalah No, dan No jika tidak.

Operator logika ini harus ditulis dengan huruf kapital. Operator logika yang ditulis dalam huruf kecil tidak akan berfungsi.

Konstanta logis

Anda dapat menggunakan konstanta logis dalam ekspresi Looker. Konstanta ini selalu ditulis dalam huruf kecil dan memiliki arti berikut:

Konstanta Arti
yes Benar
no Salah
null Tidak ada nilai

Perhatikan bahwa konstanta yes dan no adalah simbol khusus yang berarti benar atau salah dalam ekspresi Looker. Sebaliknya, menggunakan tanda kutip seperti pada "yes" dan "no" akan membuat string literal dengan nilai tersebut.

Ekspresi logis dievaluasi sebagai benar atau salah tanpa memerlukan fungsi if. Misalnya, ini:

if(${field} > 100, yes, no)

setara dengan ini:

${field} > 100

Anda juga dapat menggunakan null untuk menunjukkan tidak ada nilai. Misalnya, Anda mungkin ingin menentukan apakah suatu kolom kosong, atau menetapkan nilai kosong dalam situasi tertentu. Formula ini tidak menampilkan nilai jika kolom kurang dari 1, atau nilai kolom jika lebih dari 1:

if(${field} < 1, null, ${field})

Menggabungkan operator AND dan OR

Operator AND dievaluasi sebelum operator OR, jika Anda tidak menentukan urutan dengan tanda kurung. Jadi, ekspresi berikut tanpa tanda kurung tambahan:

if (
  ${order_items.days_to_process}>=4 OR
  ${order_items.shipping_time}>5 AND
  ${order_facts.is_first_purchase},
"review", "okay")

akan dievaluasi sebagai:

if (
  ${order_items.days_to_process}>=4 OR
  (${order_items.shipping_time}>5 AND ${order_facts.is_first_purchase}),
"review", "okay")

Fungsi posisi

Saat membuat penghitungan tabel, Anda dapat menggunakan fungsi transformasi posisi untuk mengekstrak informasi tentang kolom pivot atau kolom di baris yang berbeda. Anda juga dapat membuat daftar dan mengambil indeks baris atau kolom pivot saat ini.

Total kolom dan baris hanya untuk kalkulasi tabel

Jika Eksplorasi Anda berisi total, Anda dapat mereferensikan nilai total untuk kolom dan baris:

Fungsi Sintaks Tujuan
:total ${field:total} Menampilkan total kolom bidang.
:row_total ${field:row_total} Menampilkan total baris kolom.

Beberapa fungsi ini menggunakan posisi relatif baris, sehingga mengubah urutan pengurutan baris akan memengaruhi hasil fungsi.

Fungsi Sintaks Tujuan
index index(expression, n) Menampilkan nilai elemen ke-n dari kolom yang dibuat oleh expression, kecuali jika expression menentukan kolom daftar, yang dalam hal ini akan menampilkan elemen ke-n dari setiap daftar.
list list(value_1, value_2, ...) Membuat daftar dari nilai yang diberikan.

Untuk contohnya, lihat postingan Komunitas Menggunakan daftar dalam penghitungan tabel.
lookup lookup(value, lookup_column, result_column) Menampilkan nilai di result_column yang berada di baris yang sama dengan value di lookup_column.
offset offset(column, row_offset) Menampilkan nilai baris (n + row_offset) dalam column, dengan n adalah nomor baris saat ini.

Untuk contoh penggunaan offset, lihat halaman Praktik Terbaik Menghitung Persentase Perubahan Sebelumnya dan Persentase dengan Kalkulasi Tabel.
offset_list offset_list(column, row_offset, num_values) Menampilkan daftar nilai num_values yang dimulai pada baris (n + row_offset) di column, dengan n adalah nomor baris saat ini.

Untuk contohnya, lihat postingan Komunitas Menghitung Rata-Rata Bergerak.
row row() Menampilkan nomor baris saat ini.

Beberapa fungsi ini menggunakan posisi relatif kolom pivot, sehingga mengubah urutan pengurutan dimensi yang di-pivot akan memengaruhi hasil fungsi tersebut.

Fungsi Sintaks Tujuan
pivot_column pivot_column() Menampilkan indeks kolom perantara saat ini.
pivot_index pivot_index(expression, pivot_index) Mengevaluasi expression dalam konteks kolom pivot di posisi pivot_index (1 untuk pivot pertama, 2 untuk pivot kedua, dll.). Menampilkan null untuk hasil yang tidak diubah.

Untuk contoh penggunaan pivot_index, lihat postingan Komunitas Menggunakan pivot_index dalam kalkulasi tabel dan Membuat persentase total di seluruh baris dengan kalkulasi tabel.
pivot_offset pivot_offset(pivot_expression, col_offset) Menampilkan nilai pivot_expression di posisi (n + col_offset), dengan n sebagai posisi kolom perantara saat ini. Menampilkan null untuk hasil yang tidak diubah.

Untuk contoh penggunaan pivot_offset, lihat postingan Komunitas Membuat total berjalan di seluruh baris dengan kalkulasi tabel dan halaman Praktik Terbaik Menghitung Persentase Perubahan Sebelumnya dan Persentase dengan Kalkulasi Tabel.
pivot_offset_list pivot_offset_list(pivot_expression, col_offset, num_values) Menampilkan daftar nilai num_values dalam pivot_expression yang dimulai pada posisi (n + col_offset), dengan n adalah indeks titik tengah saat ini. Menampilkan null untuk hasil yang tidak diubah.
pivot_row pivot_row(expression) Menampilkan nilai yang di-pivot dari expression sebagai daftar. Menampilkan null untuk hasil yang tidak diubah.

Untuk contoh penggunaan pivot_row, lihat halaman Praktik Terbaik Menggabungkan Seluruh Baris (Total Baris) dalam Kalkulasi Tabel dan Cara Menghitung Persentase Total.
pivot_where pivot_where(select_expression, expression) Menampilkan nilai expression untuk kolom pivot yang secara unik memenuhi select_expression atau null jika kolom unik tersebut tidak ada.

Fungsi pivot tertentu yang Anda gunakan menentukan apakah penghitungan tabel ditampilkan di samping setiap kolom yang dipivotkan, atau ditampilkan sebagai satu kolom di akhir tabel.

Fungsi filter untuk filter kustom dan kolom kustom

Fungsi filter memungkinkan Anda menggunakan ekspresi filter untuk menampilkan nilai berdasarkan data yang difilter. Fungsi filter berfungsi di filter kustom, filter pada ukuran kustom, dan dimensi kustom, tetapi tidak valid dalam penghitungan tabel.

Fungsi Sintaks Tujuan
matches_filter matches_filter(field, filter_expression) Menampilkan Yes jika nilai kolom cocok dengan ekspresi filter, No jika tidak.