Ekspresi Looker adalah formula yang Anda gunakan untuk melakukan penghitungan kustom dan menerapkan logika lanjutan dalam Looker. Gunakan ekspresi Looker untuk membuat kalkulasi tabel dinamis, kolom kustom, filter kustom, dan pengujian data. Kemampuan ini membantu Anda mengekstrak insight tertentu dan menyesuaikan analisis data. Panduan ini menjelaskan cara membuat dan menggunakan ekspresi Looker secara efektif.
Pintasan untuk fungsi umum
Sebelum membuat ekspresi Looker, periksa apakah tugas Anda dapat diselesaikan menggunakan pintasan bawaan:
- Kalkulasi tabel: Jika admin telah memberi Anda izin untuk membuat kalkulasi tabel, Anda dapat menggunakan Kalkulasi pintas untuk melakukan penghitungan umum dengan cepat pada kolom numerik dalam tabel data Eksplorasi.
- Kolom kustom: Jika admin telah memberi Anda
izin
untuk membuat kolom kustom, Anda dapat menggunakan yang berikut:
- Grup kustom untuk mengelompokkan nilai di bawah label kustom tanpa perlu mengembangkan logika
CASE WHENdalam parametersqlatau kolomtype: case. - Kelompok kustom untuk mengelompokkan dimensi jenis numerik dalam tingkat kustom tanpa perlu mengembangkan kolom LookML
type: tier.
- Grup kustom untuk mengelompokkan nilai di bawah label kustom tanpa perlu mengembangkan logika
Ekspresi Looker
Ekspresi Looker digunakan untuk menjalankan kalkulasi untuk:
Ekspresi Looker dibuat dari kombinasi elemen berikut:
NULL: NilaiNULLmenunjukkan bahwa tidak ada data, dan dapat berguna saat Anda ingin memeriksa apakah sesuatu kosong atau tidak ada.Konstanta: Konstanta adalah nilai tetap yang Anda berikan. Angka seperti
7atau string sepertiCompletedadalah konstanta.Kolom Looker: Referensi ke kolom Looker, yang mencakup dimensi, ukuran, dan kalkulasi tabel.
Operator Looker: Untuk mengetahui daftar operator yang tersedia, lihat Fungsi dan operator Looker. Operator yang didukung mencakup kategori berikut:
- Operator matematika (seperti
+,-,*, dan/) - Operator perbandingan (seperti
=,>, dan<=) - Operator logika (seperti
AND,OR, danNOT)
- Operator matematika (seperti
Fungsi Looker: Mirip dengan fungsi spreadsheet, fungsi memungkinkan Anda mentransformasi data atau mereferensikan data dengan cara yang kompleks. Untuk melihat daftar fungsi yang tersedia, lihat Fungsi dan operator Looker.
Membuat ekspresi Looker
Kalkulasi tabel, kolom kustom, dan filter kustom menggunakan editor ekspresi Looker. Saat Anda mengetik ekspresi, Looker akan menampilkan fungsi, operator, dan nama kolom yang mungkin ingin Anda gunakan.
Lihat semua saran
Akses editor ekspresi Looker di Eksplorasi dengan membuat perhitungan tabel, kolom kustom, atau filter kustom.
Ketik spasi untuk melihat daftar semua kolom, fungsi, dan operator yang dapat Anda pilih. Jika kolom saat ini dipilih di Jelajah, Looker akan menampilkan titik hitam di sebelah kiri kolom dan menampilkan kolom di bagian atas daftar.
Mulai ketik di editor ekspresi Looker untuk memperpendek daftar menjadi item yang Anda minati.
Editor untuk kolom kustom menampilkan kolom Jelajah yang saat ini digunakan, jika kompatibel dengan fungsi kolom kustom.
Menambahkan kolom
Untuk menyertakan kolom Looker dalam ekspresi, mulai ketik nama kolom. Saat Anda mengetik, editor akan mempersempit penelusuran Anda ke daftar kolom dan fungsi yang berisi apa yang telah Anda ketik. Anda dapat mengetik nama kolom seperti yang muncul di halaman Jelajahi, atau Anda dapat menggunakan nama LookML-nya jika Anda mengetahuinya.
Saat Anda memilih kolom dari daftar, Looker akan menambahkannya ke ekspresi Anda menggunakan nama LookML dalam bentuk ${view_name.field_name}. Hal ini
memastikan bahwa semua kolom Anda memiliki nama unik dalam ekspresi.
Menambahkan total
Jika Anda membuat ekspresi yang didasarkan pada Eksplorasi tempat Anda menampilkan total,
Anda juga dapat menyertakan total kolom dan baris dalam ekspresi. Total kolom
muncul di editor dengan kata Total di depan iterasi LookML dari
nama kolom. Misalnya, untuk kolom bernama Count,
Looker memberi total kolom untuk kolom tersebut nama
Count - Total.
Nama LookML untuk total dalam bentuk ${view_name.field_name:total},
dengan :total ditambahkan di akhir nama kolom.
Untuk total baris, kata Total Baris muncul di depan nama kolom di editor. Di Nama LookML kolom, :row_total ditambahkan di akhir
nama kolom, seperti ${view_name.field_name:row_total}.
Menambahkan operator
Anda dapat menambahkan operator logika seperti AND, OR, dan NOT ke ekspresi
jika diperlukan. Biasanya, operator AND dievaluasi sebelum operator OR, tetapi Anda dapat mengganti perilaku ini dengan menggunakan tanda kurung. Anda juga dapat menggunakan
operator perbandingan (seperti >, =, dan <=) dan operator matematika
(seperti + dan *).
Saat Anda mengarahkan kursor ke operator, catatan untuk penggunaan yang tepat akan ditampilkan di panel informasi.
Tambahkan fungsi
Untuk menyertakan fungsi Looker dalam ekspresi, mulai ketik nama fungsi. Saat Anda mengetik, editor akan mempersempit penelusuran Anda ke daftar kolom dan fungsi yang berisi apa yang telah Anda ketik.
Fungsi dapat dibuat dari argumen (atau variabel) yang memerlukan jenis tertentu, seperti kolom, angka, atau ya/tidak. Saat Anda mengarahkan kursor ke fungsi, periksa catatan di panel informasi untuk memahami argumen yang perlu Anda berikan, dan jenisnya.
Untuk mengetahui daftar lengkap fungsi, lihat Fungsi dan operator Looker.
Menggunakan petunjuk error dan panel informasi
Looker menampilkan panel informasi di samping editor ekspresi Looker. Panel ini memberikan dokumentasi dan saran, terutama jika ekspresi Anda berisi error.
Panel informasi memberikan informasi berikut:
Penyorotan error: Looker menggarisbawahi dengan warna merah bagian ekspresi yang belum benar.
Saran dan detail error: Looker memberikan saran tentang apa yang harus ditambahkan berikutnya dalam ekspresi Anda. Jika terjadi error, akan dijelaskan penyebab error tersebut.
Dokumentasi: Looker menampilkan dokumentasi tentang fungsi atau operator yang sedang Anda gunakan. Misalnya, saat Anda mengetik argumen pertama fungsi
if, Looker menunjukkan bahwa argumen pertama harus dievaluasi sebagaiyesatauno. Klik nama fungsi untuk melihat dokumentasinya.
Menyertakan komentar
Anda dapat menyertakan komentar dalam ekspresi Looker dengan memulai baris
komentar dengan # di editor ekspresi.
Menggunakan kolom
Terkadang Anda ingin menggunakan nilai kolom (dimensi, ukuran, atau perhitungan tabel) dalam ekspresi. Anda mungkin ingin menambahkan nilai kolom ke sesuatu yang lain, memeriksa apakah kolom memiliki nilai tertentu, atau menyertakannya dalam fungsi.
Seperti yang dijelaskan dalam Menambahkan kolom, Anda dapat mengetik nama kolom
ke dalam editor ekspresi, dan Looker akan membantu Anda menemukan format
referensi yang benar. Saat Anda menambahkan kolom ke ekspresi, Looker
menggunakan ID LookML kolom, seperti ${view_name.field_name}. Ketik nama kolom seperti yang muncul di pemilih kolom, dan editor ekspresi akan menampilkan nama pemilih kolom bersama dengan ID LookML.
Ada beberapa cara untuk mengambil nilai:
Mendapatkan nilai dari baris yang sama: Cara paling dasar untuk menggunakan kolom adalah dengan merujuknya secara langsung, seperti
${product.category}. Ini merujuk pada nilai untuk kolom tersebut di baris saat ini.Mendapatkan nilai dari baris yang berbeda: Anda juga dapat mengambil nilai kolom dari baris yang berbeda. Misalnya, untuk mendapatkan Kategori Produk dari baris sebelumnya, gunakan fungsi offset seperti
offset(${product.category}, -1). Untuk mengetahui daftar fungsi posisi, lihat Fungsi posisi.Mendapatkan nilai dari kolom yang di-pivot: Untuk mendapatkan nilai dari kolom yang di-pivot, gunakan fungsi pivot seperti
pivot_index(${order.total_sales}, 1). Untuk mengetahui daftar fungsi pivot, lihat Fungsi pivot.Mendapatkan total dari baris atau kolom: Jika Anda menampilkan total di Eksplorasi, Anda bisa mendapatkan nilai total dengan menambahkan
:total(untuk total kolom) atau:row_total(untuk total baris) ke nama kolom, menggunakan format${field_name:total}. Misalnya:${orders.count} / ${orders.count:total}.
Menggunakan operator
Ekspresi Looker dapat mencakup operator logika, perbandingan, dan matematika untuk membuat kondisi yang berbeda:
- Operator logika (seperti
AND,OR, danNOT) - Operator perbandingan (seperti
>dan<) - Operator matematika (seperti
+dan-)
Kecuali jika Anda menentukannya lain dengan tanda kurung, logika AND dievaluasi sebelum
logika OR. 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")
dievaluasi sebagai:
if (
${order_items.days_to_process}>=4 OR
(${order_items.shipping_time}>5 AND ${order_facts.is_first_purchase}),
"review", "okay")
Di Looker, gunakan yes dan no, bukan true dan false.
Konstanta logis ini tidak sama dengan string literal "yes"
dan "no". Untuk mengetahui informasi selengkapnya, lihat
Konstanta logis.
Menggunakan fungsi
Ekspresi Looker sering kali menyertakan satu atau beberapa fungsi untuk mengambil atau menghitung data. Fungsi ini mirip dengan fungsi spreadsheet.
Fungsi memiliki bentuk nama yang diikuti dengan tanda kurung, seperti
my_function(). Nilai yang diteruskan di dalam tanda kurung adalah argumen, seperti
my_function(argument_1, argument_2).
Misalnya, fungsi now
tidak menggunakan argumen dan menampilkan tanggal dan waktu saat ini: now().
Fungsi round
mengambil satu argumen numerik: round(3.2). Hasilnya adalah 3.
Untuk mengetahui argumen mana yang harus diberikan:
- Panel informasi di samping editor ekspresi menyediakan dokumentasi untuk fungsi aktif.
- Untuk mengetahui daftar lengkap fungsi, lihat Fungsi dan operator Looker.
Pertimbangkan fungsi contains:
| Fungsi | Sintaksis | Tujuan |
|---|---|---|
| contains {:#function-contains} | contains(string, search_string) |
Menampilkan Yes jika string berisi search_string, dan No jika sebaliknya. |
Fungsi contains memerlukan dua argumen: string dan search_string.
Argumen string mewakili kolom atau teks yang akan ditelusuri, dan search_string
mewakili istilah yang akan ditelusuri:
contains(${customer.feedback_text}, "great")
Jika "bagus" muncul dalam masukan pelanggan, fungsi ini akan menampilkan Yes.
Jika tidak, No akan ditampilkan.
Anda dapat menyusun fungsi di dalam fungsi lain:
contains(
if(
is_null(${customer.feedback_text}),
${customer.comment_text},
${customer.feedback_text}
),
"great")
Ekspresi ini dievaluasi dalam tiga langkah:
- Fungsi
is_nullmemeriksa apakah teks masukan pelanggan kosong. - Fungsi
ifmenampilkan teks masukan jika ada; jika tidak, fungsi ini akan menampilkan teks komentar. - Fungsi
containsmenelusuri teks yang ditampilkan untuk menemukan "bagus".
Secara logis, ekspresi ini berarti: "Jika ada masukan pelanggan, telusuri teks tersebut. Jika tidak, telusuri di komentar pelanggan. Dalam kedua kasus tersebut, cari kata 'bagus'."