Fungsi dan operator Looker

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

  • Penghitungan Pintasan untuk melakukan penghitungan umum dengan cepat pada kolom numerik yang ada di tabel data Jelajah

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

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

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

Ekspresi Looker (terkadang disebut sebagai Lexp) digunakan untuk melakukan penghitungan:

Sebagian besar ekspresi ini adalah fungsi dan operator yang dapat Anda gunakan di dalamnya. Fungsi dan operator dapat dibagi menjadi beberapa kategori dasar:

Beberapa fungsi hanya tersedia untuk penghitungan tabel

Ekspresi Looker untuk filter kustom dan kolom kustom tidak mendukung fungsi Looker yang mengonversi jenis data, menggabungkan data dari beberapa baris, atau merujuk ke baris atau kolom pivot lainnya. Fungsi ini hanya didukung untuk penghitungan tabel (termasuk penghitungan tabel yang digunakan dalam parameter expression dari pengujian data).

Halaman ini diatur untuk memperjelas fungsi dan operator yang tersedia, bergantung pada tempat Anda menggunakan ekspresi Looker.

Fungsi dan operator matematika

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

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

Fungsi untuk semua ekspresi Looker

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

Misalnya, lihat postingan Komunitas Penyimpangan Standar dan Deteksi Pencilan Deret Waktu Sederhana Menggunakan Penghitungan Tabel.
ceiling ceiling(value) Menampilkan bilangan bulat terkecil yang lebih besar dari atau sama dengan value.
exp exp(value) Menampilkan e ke 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 exponent.

Misalnya, lihat postingan Komunitas Penyimpangan Standar dan Deteksi Pencilan Deret Waktu Sederhana Menggunakan Penghitungan Tabel.
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 penghitungan tabel dan Postingan komunitas Penyimpangan Standar dan Deteksi Pencilan Deret Waktu Sederhana Menggunakan Penghitungan Tabel.
sqrt sqrt(value) Menampilkan akar kuadrat dari value.

Misalnya, lihat postingan Komunitas Penyimpangan Standar dan Deteksi Pencilan Deret Waktu Sederhana Menggunakan Penghitungan Tabel.

Fungsi hanya untuk penghitungan tabel

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

Fungsi Sintaksis Tujuan
acos acos(value) Menampilkan kosinus terbalik dari value.
asin asin(value) Menampilkan sinus terbalik 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 pengujian num_tests dengan probability keberhasilan yang ditentukan. Jika cumulative = yes, menampilkan probabilitas kumulatif.
binom_inv binom_inv(num_tests, test_probability, target_probability) Menampilkan angka terkecil k sedemikian rupa sehingga binom(k, num_tests, test_probability, yes) >= target_probability.
chisq_dist chisq_dist(value, dof, cumulative) Menampilkan posisi value pada distribusi gamma dengan dof derajat kebebasan. Jika cumulative = yes, menampilkan probabilitas kumulatif.
chisq_inv chisq_inv(probability, dof) Menampilkan posisi probability pada distribusi gamma kumulatif terbalik dengan dof derajat kebebasan.
chisq_test chisq_test(actual, expected) Menampilkan probabilitas untuk uji kai-kuadrat (chi-square) 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 elemen selection_size dari kumpulan ukuran set_size.
confidence_norm confidence_norm(alpha, stdev, n) Menampilkan setengah lebar interval keyakinan 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 siswa 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 di kolom yang ditentukan oleh expression, kecuali expression menentukan kolom daftar, dalam hal ini menampilkan jumlah di setiap daftar.
count_distinct count_distinct(expression) Menampilkan jumlah nilai non-null yang berbeda di 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 kovariansi populasi column_1 dan column_2.
covar_samp covar_samp(column_1, column_2) Menampilkan kovariansi 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, 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 yang diberikan, jumlah population_successes, dan population_size. Jika cumulative = yes, menampilkan probabilitas kumulatif.
intercept intercept(y_column, x_column) Menampilkan titik potong garis regresi linear melalui titik yang ditentukan oleh y_column dan x_column.

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

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

Untuk contoh penggunaan mean, lihat postingan Komunitas Menghitung Rata-Rata Bergerak serta postingan Komunitas Penyimpangan Standar dan deteksi pencilan deret waktu sederhana menggunakan Kalkulasi Tabel.
median median(expression) Menampilkan median kolom yang dibuat oleh expression kecuali jika expression menentukan kolom daftar, yang dalam hal ini menampilkan median dari setiap daftar.
min min(expression) Menampilkan nilai min dari kolom yang dibuat oleh expression kecuali jika expression menentukan kolom daftar, yang dalam hal ini menampilkan nilai minimum dari setiap daftar.
mode mode(expression) Menampilkan mode kolom yang dibuat oleh expression kecuali jika expression menentukan kolom daftar, dalam hal ini akan menampilkan mode setiap daftar.
multinomial multinomial(value_1, value_2, ...) Menampilkan faktorial jumlah argumen yang dibagi dengan produk dari masing-masing faktorialnya.
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 ditentukan. 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 ditentukan. 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) Menampilkan peringkat value dalam column sebagai persentase dari 0 hingga 1 inklusif, dengan column adalah kolom, kolom, daftar, atau rentang yang berisi set data untuk dipertimbangkan; dan value adalah kolom dengan nilai yang akan ditentukan peringkat persentasenya.

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(value_column, percentile_value) Menampilkan nilai dari kolom yang dibuat oleh expression sesuai dengan percentile_value yang ditentukan, 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, 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, dalam hal ini menampilkan produk dari setiap daftar.
radians radians(value) Mengonversi value dari derajat ke radian.
rank rank(value, expression) Menampilkan peringkat value di kolom yang dibuat oleh expression. Misalnya, jika ingin memberi peringkat pesanan berdasarkan total harga promonya, 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 saat membandingkannya dengan seluruh kolom order_items.total_sale_price di kueri Anda. Jika expression menentukan beberapa daftar, fungsi ini akan menampilkan ukuran relatif value dalam setiap daftar.

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

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

Sebagai contoh, lihat postingan Komunitas Cara Melakukan Perkiraan di Looker dengan Penghitungan Tabel.
small small(expression, k) Menampilkan nilai terkecil k dari kolom yang dibuat oleh expression kecuali expression menentukan kolom daftar, yang dalam hal ini menampilkan nilai terkecil k dari setiap daftar.
stddev_pop stddev_pop(expression) Menampilkan simpangan baku (populasi) kolom yang dibuat oleh expression kecuali jika expression menentukan kolom daftar, dalam hal ini menampilkan simpangan baku (populasi) untuk setiap daftar.
stddev_samp stddev_samp(expression) Menampilkan simpangan baku (sampel) untuk kolom yang dibuat oleh expression, kecuali jika expression menentukan kolom daftar, dalam hal ini menampilkan simpangan baku (sampel) untuk 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 Menggabungkan Seluruh Baris (Total Baris) dalam Penghitungan Tabel dan Cara Menghitung Persentase dari Total Praktik Terbaik.
t_dist t_dist(value, dof, cumulative) Menampilkan posisi value pada distribusi t siswa 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 dof derajat kebebasan.
t_test t_test(column_1, column_2, tails, type) Menampilkan hasil Uji t Siswa 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 dari 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_pop(expression) Menampilkan varians (sampel) kolom yang dibuat oleh expression kecuali jika expression menentukan kolom daftar, dalam hal ini menampilkan varians (contoh) 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 pengujian z menggunakan data dan stdev yang ada pada rata-rata yang dihipotesiskan value.

Operator untuk ekspresi Looker apa pun

Anda dapat menggunakan operator matematika standar berikut:

Operator Sintaksis Tujuan
+ value_1 + value_2 Menambahkan value_1 dan value_2.
- value_1 - value_2 Mengurangi value_2 dengan 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 {i>string<i} untuk membuat huruf besar pada kata dan huruf, 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 semua ekspresi Looker

Fungsi Sintaksis 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.
length length(string) Menampilkan jumlah karakter dalam string.
lower lower(string) Menampilkan string dengan semua karakter dikonversi ke huruf kecil.
position position(string, search_string) Menampilkan indeks awal search_string dalam string jika ada, dan 0 jika tidak.
replace replace(string, old_string, new_string) Menampilkan string dengan semua kemunculan old_string yang 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 pada 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 ke huruf besar.

Fungsi hanya untuk penghitungan tabel

Fungsi Sintaksis Tujuan
split split(string, delimeter) Menampilkan daftar string dalam string yang dibagi menurut 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 value, atau string kosong jika value adalah null.

Fungsi tanggal

Fungsi tanggal memungkinkan Anda menggunakan tanggal dan waktu.

Fungsi untuk semua ekspresi Looker

Fungsi Sintaksis 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.

Sebagai contoh, lihat Postingan komunitas tentang 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.

Sebagai contoh, lihat Postingan komunitas tentang Menggunakan tanggal dalam penghitungan tabel.
diff_months diff_months(start_date, end_date) Menampilkan jumlah bulan antara start_date dan end_date.

Sebagai contoh, lihat Postingan komunitas tentang Pengelompokan berdasarkan 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.

Sebagai contoh, lihat Postingan komunitas tentang 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 Fungsi Perhitungan Tabel Now() Memiliki Penanganan Zona Waktu yang Lebih Baik dan Menggunakan tanggal dalam perhitungan tabel Postingan komunitas.
trunc_days trunc_days(date) Potong date menjadi hari.
trunc_hours trunc_hours(date) Memotong date menjadi jam.
trunc_minutes trunc_minutes(date) Memotong date menjadi menit.
trunc_months trunc_months(date) Memangkas date menjadi bulan.
trunc_years trunc_years(date) Memangkas date menjadi tahun.

Fungsi hanya untuk penghitungan tabel

Fungsi Sintaksis 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 logika 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 logika.

Fungsi untuk semua ekspresi Looker

Fungsi Sintaksis Tujuan
case case(when(yesno_arg, value_if_yes), when(yesno_arg, value_if_yes), ..., else_value) TAMBAHKAN 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 artikel Membuat total berjalan di seluruh baris dengan penghitungan tabel, Membuat persen total di seluruh baris dengan penghitungan tabel, dan Menggunakan pivot_index dalam penghitungan tabel Postingan komunitas.
if if(yesno_expression, value_if_yes, value_if_no) Jika yesno_expression bernilai Yes, tampilkan nilai value_if_yes. Jika tidak, tampilkan nilai value_if_no.

Sebagai contoh, lihat Postingan komunitas tentang Pengelompokan berdasarkan dimensi dalam penghitungan tabel.
is_null is_null(value) Menampilkan Yes jika value adalah null, dan No jika tidak.

Misalnya, 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 jenis data apa pun:

Operator Sintaksis 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 pada angka, tanggal, dan string:

Operator Sintaksis Tujuan
> value_1 > value_2 Menampilkan Yes jika value_1 lebih besar dari value_2, dan No jika tidak.
< value_1 < value_2 Menampilkan Yes jika value_1 lebih kecil dari value_2, dan No jika tidak.
>= value_1 >= value_2 Menampilkan Yes jika value_1 lebih besar dari atau sama dengan value_2, dan No jika tidak.
<= value_1 <= value_2 Menampilkan Yes jika value_1 lebih kecil dari atau sama dengan value_2, dan No jika tidak.

Anda juga dapat menggabungkan ekspresi Looker dengan operator logika berikut:

Operator Sintaksis 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 menggunakan huruf besar. Operator logika yang ditulis dalam huruf kecil tidak akan berfungsi.

Konstanta logika

Anda dapat menggunakan konstanta logika 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 dalam "yes" dan "no" akan membuat string literal dengan nilai tersebut.

Ekspresi logika dievaluasi ke benar atau salah tanpa memerlukan fungsi if. Misalnya, hal 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 kolom kosong, atau menetapkan nilai kosong dalam situasi tertentu. Formula ini tidak menampilkan nilai jika kolom lebih kecil 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. Dengan demikian, 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 kalkulasi tabel, Anda dapat menggunakan fungsi transformasi posisi untuk mengekstrak informasi tentang {i>field<i} di baris atau kolom pivot yang berbeda. Anda juga dapat membuat daftar dan mengambil indeks kolom pivot atau baris saat ini.

Total kolom dan baris hanya untuk penghitungan tabel

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

Fungsi Sintaksis Tujuan
:total ${field:total} Menampilkan total kolom untuk kolom tersebut.
:row_total ${field:row_total} Menampilkan total baris kolom.

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

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

Sebagai contoh, lihat Postingan komunitas Menggunakan daftar dalam penghitungan tabel.
lookup lookup(value, lookup_column, result_column) Menampilkan nilai dalam result_column yang berada di baris yang sama dengan value di lookup_column.
offset offset(column, row_offset) Menampilkan nilai baris (n + row_offset) di column, dengan n yang merupakan nomor baris saat ini.

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

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

Beberapa fungsi ini menggunakan posisi relatif kolom pivot, sehingga mengubah tata urutan dimensi pivot akan memengaruhi hasil dari fungsi tersebut.

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

Untuk contoh penggunaan pivot_index, lihat artikel Menggunakan pivot_index dalam penghitungan tabel dan Membuat persentase total di seluruh baris dengan penghitungan tabel Postingan komunitas.
pivot_offset pivot_offset(pivot_expression, col_offset) Menampilkan nilai pivot_expression di posisi (n + col_offset), di mana n adalah posisi kolom pivot saat ini. Menampilkan null untuk hasil yang tidak diubah.

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

Untuk contoh penggunaan pivot_row, lihat halaman Menggabungkan Seluruh Baris (Total Baris) dalam Penghitungan Tabel dan Cara Menghitung Persentase dari Total Praktik Terbaik.
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 perhitungan tabel ditampilkan di samping setiap kolom pivot, atau ditampilkan sebagai satu kolom di akhir tabel.

Memfilter fungsi 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 tindakan kustom, dan dimensi kustom, tetapi tidak valid dalam penghitungan tabel.

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