Membuat ekspresi Looker

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 WHEN dalam 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

Ekspresi Looker digunakan untuk menjalankan kalkulasi untuk:

Ekspresi Looker dibuat dari kombinasi elemen berikut:

  • NULL: Nilai NULL menunjukkan 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 7 atau string seperti Completed adalah 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, dan NOT)
  • 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 sebagai yes atau no. 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, dan NOT)
  • 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:

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:

  1. Fungsi is_null memeriksa apakah teks masukan pelanggan kosong.
  2. Fungsi if menampilkan teks masukan jika ada; jika tidak, fungsi ini akan menampilkan teks komentar.
  3. Fungsi contains menelusuri 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'."