Membuat ekspresi Looker

Ekspresi Looker

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

Ekspresi Looker dibuat dari kombinasi elemen berikut:

  • NULL: Nilai NULL menunjukkan tidak ada data, dan dapat berguna saat Anda ingin memeriksa apakah sesuatu kosong atau tidak ada.

  • Konstanta: Konstanta adalah nilai yang tidak berubah yang Anda berikan. Angka seperti 7 atau string seperti Completed adalah konstanta.

  • Kolom Looker: Referensi ke kolom Looker, yang mencakup dimensi, ukuran, dan kalkulasi tabel.

  • Operator Looker: Ada beberapa jenis operator (yang tercantum di halaman dokumentasi Fungsi dan operator Looker):

    • Operator matematika (seperti +, -, *, dan /)
    • Operator perbandingan (seperti =, >, dan <=)
    • Operator logika (seperti AND, OR, dan NOT)
  • Fungsi Looker: Fungsi ini mirip dengan fungsi Excel. Fungsi memungkinkan Anda mengubah data atau data referensi dengan cara yang kompleks. Semua fungsi yang tersedia tercantum di halaman dokumentasi Fungsi dan operator Looker.

Membuat ekspresi Looker

Kalkulasi tabel, kolom kustom, dan filter kustom menggunakan editor ekspresi Looker. Saat Anda mengetik ekspresi, Looker akan meminta Anda untuk memasukkan fungsi, operator, dan nama kolom yang mungkin ingin Anda gunakan.

Melihat semua saran

Akses editor ekspresi Looker di Jelajahi dengan membuat kalkulasi 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 Jelajahi, Looker akan menampilkan titik hitam di sebelah kiri kolom dan menampilkan kolom di bagian atas daftar.

Mulai ketik di editor ekspresi Looker untuk mempersingkat daftar ke item yang Anda minati.

Editor untuk kolom kustom menampilkan kolom Jelajahi 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 ke daftar kolom dan fungsi yang berisi kata yang Anda ketik. Anda dapat mengetik nama kolom seperti yang muncul di halaman Jelajahi, atau menggunakan nama LookML-nya jika Anda mengetahuinya.

Saat Anda memilih kolom dari daftar, Looker akan menambahkannya ke ekspresi menggunakan nama LookML dalam bentuk ${view_name.field_name}. Hal ini memastikan bahwa semua kolom memiliki nama unik dalam ekspresi Anda.

Menambahkan total

Jika 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 nama kolom. Misalnya, untuk kolom bernama Count, Looker akan memberi total kolom untuk kolom tersebut nama Count - Total.

Nama LookML untuk total dalam bentuk ${view_name.field_name:total}, dengan :total ditambahkan ke akhir nama kolom.

Untuk total baris, kata Total Baris akan muncul di depan nama kolom di editor; dan, dalam nama LookML kolom, :row_total ditambahkan ke 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 <=) serta operator matematika (seperti + dan *).

Saat Anda mengarahkan kursor ke operator, catatan untuk penggunaan yang tepat akan ditampilkan di panel informasi.

Menambahkan fungsi

Untuk menyertakan fungsi Looker dalam ekspresi, mulai ketik nama fungsi. Saat Anda mengetik, editor akan mempersempit penelusuran ke daftar kolom dan fungsi yang berisi kata yang Anda ketik.

Fungsi dapat dibuat dari argumen (atau variabel) yang memerlukan jenis tertentu, seperti kolom, angka, atau ya/tidak. Saat mengarahkan kursor ke fungsi, Anda dapat memeriksa catatan yang ditampilkan di samping ekspresi di panel informasi untuk memahami argumen mana yang perlu Anda berikan, dan jenis argumen yang diperlukan.

Anda dapat melihat daftar lengkap fungsi yang ditawarkan Looker di halaman dokumentasi Fungsi dan operator Looker.

Menggunakan petunjuk error dan panel informasi

Looker menampilkan panel informasi di samping editor ekspresi Looker. Panel ini menyediakan dokumentasi dan saran, terutama jika Anda mengalami error dalam ekspresi.

Panel informasi di samping editor ekspresi memberikan informasi berikut:

  • Penandaan error: Looker menandai bagian ekspresi yang belum benar dengan garis bawah berwarna merah.

  • Saran dan Detail error: Looker memberikan saran tentang apa yang harus ditambahkan berikutnya dalam ekspresi Anda. Jika ada error, error tersebut akan menjelaskan penyebabnya. Jika ada beberapa error, error yang ditampilkan kepada Anda didasarkan pada lokasi kursor Anda.

  • Dokumentasi: Looker menampilkan dokumentasi tentang fungsi atau operator yang Anda gunakan, berdasarkan posisi kursor. Misalnya, saat Anda mengetik argumen pertama fungsi if(), Looker akan memberikan informasi bahwa argumen pertama harus dievaluasi sebagai benar atau salah. Anda dapat mengklik nama fungsi untuk membuka dokumentasi fungsi tersebut.

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 penghitungan tabel) dalam ekspresi. Anda mungkin ingin menambahkan nilai kolom ke sesuatu yang lain, memeriksa apakah kolom tersebut memiliki nilai tertentu, menyertakannya dalam fungsi, atau banyak kemungkinan lainnya.

Seperti yang dijelaskan sebelumnya di halaman ini, Anda dapat mengetik nama kolom ke editor ekspresi, dan Looker akan membantu Anda menemukan cara yang benar untuk mereferensikan kolom. Saat Anda menambahkan kolom ke ekspresi, Looker akan menggunakan ID LookML kolom, yang terlihat seperti ${view_name.field_name}. Ketik nama kolom seperti yang muncul di pemilih kolom dan editor ekspresi akan menampilkan nama pemilih kolom dan ID LookML secara bersamaan.

Ada beberapa cara untuk mengambil nilai:

  • Mendapatkan nilai dari baris yang sama: Cara paling dasar untuk menggunakan kolom adalah dengan mereferensikannya secara langsung. Misalnya, ekspresi Anda mungkin menggunakan ${product.category}. Saat melakukannya, Anda mengatakan "untuk baris tertentu, ambil Kategori Produk dari baris tersebut".

  • Mendapatkan nilai dari baris lain: Anda juga bisa mendapatkan nilai kolom dari baris lain. Misalnya, Anda mungkin menginginkan logika "untuk baris tertentu, ambil Kategori Produk dari baris sebelumnya". Untuk melakukannya, Anda dapat menggunakan fungsi offset (lihat daftar fungsi posisional ini). Fungsi offset mungkin terlihat seperti ini: offset(${product.category}, -1).

  • Mendapatkan nilai dari kolom yang diputar: Anda juga bisa mendapatkan nilai dari kolom yang diputar. Misalnya, Anda mungkin menginginkan logika "untuk baris tertentu, ambil Total Penjualan dari kolom pivot pertama". Untuk menggunakan kolom pivot, Anda harus menggunakan fungsi pivot (lihat daftar fungsi pivot ini). Fungsi pivot mungkin terlihat seperti ini: pivot_index(${order.total_sales}, 1).

  • Mendapatkan total dari baris atau kolom: Jika menambahkan total ke Jelajah, Anda bisa mendapatkan nilai total dari kolom atau baris dengan menambahkan :total (untuk total kolom) atau :row_total (untuk total baris) ke nama kolom, menggunakan format ${field_name:total}. Misalnya, jika Anda menginginkan persentase dari total jumlah Pesanan, Anda dapat membuat penghitungan tabel seperti ini: ${orders.count} / ${orders.count:total}.

Menggunakan operator

Ekspresi Looker dapat menyertakan operator logika, perbandingan, dan matematika untuk membuat berbagai kondisi:

  • Operator logika (seperti AND, OR, dan NOT)
  • Operator perbandingan (seperti > dan <)
  • Operator matematika (seperti + dan -)

Kecuali jika Anda menentukannya dengan tanda kurung, logika AND akan dipertimbangkan 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, Anda harus menggunakan yes dan no, bukan true dan false. Konstanta logis ini tidak sama dengan kata "yes" dan "no", yang diapit tanda kutip. Lihat deskripsi konstanta logis untuk mengetahui detail selengkapnya.

Menggunakan fungsi

Ekspresi Looker sering kali menyertakan satu atau beberapa fungsi, yang membantu Anda mengambil data tertentu atau menghitung hal-hal tertentu. Fungsi ini mirip dengan fungsi Excel.

Fungsi memiliki bentuk nama yang diikuti dengan dua tanda kurung, seperti ini: my_function(). Anda mungkin perlu memberikan informasi dalam tanda kurung tersebut, yang dipisahkan dengan koma. Potongan informasi ini disebut "argumen" dan terlihat seperti ini: my_function(argument_1, argument_2).

Misalnya, fungsi now tidak menggunakan argumen apa pun, dan memberi Anda tanggal dan waktu saat ini. Anda menggunakannya seperti ini: now().

Fungsi round memang menggunakan satu argumen, yaitu angka. Anda menggunakannya seperti ini: round(3.2). Hasilnya adalah 3.

Ada dua cara untuk mengetahui argumen yang perlu Anda berikan, jika ada:

  • Panel informasi yang muncul di samping editor ekspresi memberikan beberapa dokumentasi tentang fungsi yang Anda tulis. Anda dapat mengklik nama fungsi untuk membuka dokumentasinya.
  • Anda juga dapat langsung membuka halaman dokumentasi fungsi dan operator Looker dan mencari fungsi yang ingin digunakan.

Pertimbangkan fungsi contains, yang memiliki dokumentasi yang terlihat seperti ini:

Fungsi Sintaks Tujuan
berisi contains(string, search_string) Menampilkan Yes jika string berisi search_string, dan No jika tidak

Anda dapat melihat bahwa dua argumen diperlukan. Keduanya memiliki nama string dan search_string, tetapi bukan berarti Anda harus mengetik kata "string" dan "search_string" yang tepat ke dalam fungsi. Ini hanyalah nama untuk argumen yang akan Anda ganti dengan sesuatu. Dengan membaca tujuannya, kita melihat bahwa string harus berupa kolom atau nilai lain yang ingin kita telusuri, sedangkan search_string adalah hal yang ingin kita telusuri. Contohnya adalah:

contains(${customer.feedback_text}, "great")

Jika kata "bagus" muncul dalam masukan pelanggan, fungsi ini akan memberikan hasil Yes. Jika tidak, hasilnya adalah No.

Anda dapat menempatkan fungsi di dalam fungsi lain untuk menangani logika yang kompleks. Selama hasil fungsi dalam sesuai untuk argumen fungsi luar, fungsi tersebut akan berfungsi. Contoh:

contains(
  if(
    is_null(${customer.feedback_text}),
    ${customer.comment_text},
    ${customer.feedback_text}
  ),
"great")

Fungsi is_null disusun bertingkat di dalam fungsi if, yang berada di dalam fungsi contains. Cara kerjanya seperti ini:

  1. Fungsi is_null() memeriksa teks masukan pelanggan.
  2. Selanjutnya, fungsi if() menggunakan hasil tersebut dan menampilkan teks masukan pelanggan jika ada, atau menampilkan teks komentar pelanggan.
  3. Terakhir, fungsi contains() menggunakan teks yang ditampilkan oleh fungsi if() dan menelusurinya untuk menemukan kata "great".

Secara logis, ekspresi ini berarti: "Jika ada masukan pelanggan, telusuri di dalamnya. Jika tidak, telusuri di komentar pelanggan. Dalam kedua kasus tersebut, cari kata 'great' ".