Membuat ekspresi Looker

Jika admin telah memberi Anda izin untuk membuat penghitungan tabel, Anda dapat menggunakan fitur berikut untuk menjalankan fungsi umum dengan cepat tanpa 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 berdasarkan label khusus tanpa perlu mengembangkan logika CASE WHEN di parameter sql atau kolom type: case

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

Ekspresi Looker

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

Ekspresi Looker dibuat dari kombinasi elemen berikut:

  • NULL: Nilai NULL menunjukkan tidak ada data, dan dapat berguna saat Anda ingin memeriksa bahwa ada sesuatu yang 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

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

Tips Praktis: Jika Anda adalah developer Looker yang membuat pengujian data untuk memverifikasi logika model, Anda dapat menggunakan editor ekspresi Looker untuk membuat ekspresi Looker, lalu menyalin ekspresi tersebut ke parameter expression pengujian data.

Melihat semua saran

Akses editor ekspresi Looker di Jelajah dengan membuat penghitungan 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 lingkaran hitam di sebelah kiri kolom tersebut dan menampilkan kolom di bagian atas daftar.

Mulailah mengetik untuk mempersingkat daftar menjadi item yang Anda minati.

Editor untuk kolom kustom menampilkan kolom Jelajahi yang sedang digunakan, jika kompatibel dengan fungsi kolom kustom tersebut.

Menambahkan kolom

Untuk menyertakan kolom Looker dalam ekspresi, mulailah mengetik nama kolom tersebut. Saat mengetik, editor akan mempersempit penelusuran Anda ke daftar kolom dan fungsi yang berisi apa yang telah diketik. Anda dapat mengetik nama kolom seperti yang muncul di halaman Explore, atau Anda dapat menggunakan nama LookML-nya jika Anda mengetahuinya.

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

Anda dapat membaca petunjuk mendetail tentang penggunaan kolom di bagian Menggunakan kolom pada halaman ini.

Menambahkan total

Jika Anda membuat ekspresi yang didasarkan pada Jelajah 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 Jumlah, Looker akan memberi total kolom nama Count - Total untuk kolom tersebut.

Nama LookML untuk total ada dalam bentuk ${view_name.field_name:total}, dengan :total ditambahkan ke akhir nama kolom. Untuk total baris, kata Row Totals muncul di depan nama kolom di editor; dan, dalam nama kolom LookML, :row_total ditambahkan ke akhir nama kolom.

Menambahkan operator

Anda dapat menambahkan operator logika seperti AND, OR, dan NOT ke ekspresi jika diperlukan. Operator AND biasanya dievaluasi sebelum operator OR, tetapi Anda dapat mengganti perilaku ini menggunakan tanda kurung. Anda juga dapat menggunakan operator perbandingan (seperti >, =, dan <=) serta operator matematika (seperti + dan *).

Jika kursor berada di operator, catatan untuk penggunaan yang tepat akan ditampilkan di sebelah kanan ekspresi pada panel informasi.

Anda dapat membaca petunjuk mendetail tentang penggunaan operator di bagian Menggunakan operator pada halaman ini.

Menambahkan fungsi

Untuk menyertakan fungsi Looker dalam ekspresi, mulailah mengetik nama fungsi. Saat mengetik, editor akan mempersempit penelusuran Anda ke daftar kolom dan fungsi yang berisi apa yang telah diketik.

Fungsi dapat dibuat dari argumen (atau variabel) yang memerlukan jenis tertentu, seperti kolom, angka, atau ya/tidak. Saat kursor berada pada fungsi, Anda dapat memeriksa catatan yang ditampilkan di sebelah kanan ekspresi pada panel informasi untuk memahami argumen mana yang harus diberikan, dan jenis argumen yang diperlukan.

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

Anda dapat membaca petunjuk lebih mendetail tentang penggunaan fungsi di bagian Menggunakan fungsi pada halaman ini.

Menggunakan petunjuk error dan panel informasi

Saat Anda mengetik ekspresi, Looker akan menampilkan panel informasi di sebelah kanan. Panel ini menyediakan dokumentasi dan saran, terutama jika Anda mengalami error dalam ekspresi.

Editor menyediakan:

  • Penandaan Error: Looker menggarisbawahi dengan warna merah setiap bagian ekspresi yang belum benar.

  • Saran dan Detail Error: Bagian atas panel informasi memberikan saran tentang apa yang harus ditambahkan berikutnya dalam ekspresi Anda. Jika terjadi error, hal ini akan menjelaskan mengapa error tersebut terjadi. Jika ada beberapa error, error yang ditampilkan kepada Anda didasarkan pada lokasi kursor Anda.

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

Termasuk komentar

Anda dapat menyertakan komentar dalam ekspresi Looker dengan mengawali baris komentar dengan #.

Menggunakan kolom

Terkadang, Anda dapat menggunakan nilai kolom (dimensi, ukuran, atau penghitungan tabel) dalam ekspresi. Anda mungkin ingin menambahkan nilai kolom ke hal lain, memeriksa apakah nilai tersebut memiliki nilai tertentu, menyertakannya dalam fungsi, atau banyak kemungkinan lainnya.

Seperti yang dijelaskan di atas, ketik nama kolom ke dalam editor ekspresi, dan Looker akan membantu Anda menemukan cara yang benar untuk mereferensikannya. Saat Anda menambahkan kolom ke ekspresi, Looker akan menggunakan ID LookML kolom, yang terlihat seperti ${view_name.field_name}. ID ini tidak selalu cocok dengan nama kolom di pemilih kolom, tetapi tidak masalah jika Anda tidak tahu apa itu. 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:

  • Dapatkan Nilai dari Baris yang Sama: Cara paling dasar untuk menggunakan kolom adalah dengan mereferensikannya secara langsung. Misalnya, ekspresi Anda mungkin menggunakan ${product.category}. Jika melakukannya, Anda mengatakan "untuk baris tertentu, ambil Kategori Produk dari baris tersebut".

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

  • Mendapatkan Nilai dari Kolom yang Diputar: Anda juga bisa mendapatkan nilai dari kolom pivot. 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 Eksplorasi, 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 ingin persentase total jumlah Pesanan, Anda dapat membuat penghitungan tabel seperti ini: ${orders.count} / ${orders.count:total}.

Saat mereferensikan kolom dalam filter kustom, Anda hanya dapat menggunakan dimensi — bukan ukuran, total, atau penghitungan tabel. Selain itu, Anda tidak dapat merujuk ke nilai di baris atau kolom pivot lainnya. Ini karena Looker harus dapat mengubah filter menjadi SQL untuk mengambil data Anda.

Tidak semua opsi waktu dan tanggal didukung di filter kustom atau kolom kustom. Lihat deskripsi parameter grup dimensi untuk mengetahui informasi selengkapnya.

Saat mereferensikan kolom dalam penghitungan tabel, Anda dapat mereferensikan nilai apa pun dari dimensi, ukuran, atau penghitungan tabel lainnya.

Menggunakan operator

Ekspresi Looker dapat mencakup operator logis, 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 menentukan sebaliknya dengan tanda kurung, logika AND 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 dalam tanda kutip. Lihat deskripsi konstanta logis untuk detail selengkapnya.

Menggunakan fungsi

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

Fungsi berbentuk nama yang diikuti dua tanda kurung, seperti ini: my_function(). Anda mungkin perlu memberikan informasi dalam tanda kurung tersebut, yang dipisahkan dengan koma. Bit 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 menggunakan satu argumen, yaitu angka. Anda menggunakannya seperti ini: round(3.2). Hasilnya adalah 3.

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

  • Panel informasi yang muncul di sebelah kanan 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 Sintaksis Tujuan
berisi contains(string, search_string) Menampilkan Yes jika string berisi search_string, dan No jika tidak

Anda dapat melihat bahwa diperlukan dua argumen. Keduanya memiliki nama string dan search_string, tetapi itu bukan berarti Anda harus mengetikkan kata "string" dan "string_penelusuran" 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 di, sedangkan search_string adalah hal yang ingin kita telusuri. Contohnya mungkin:

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

Jika kata "bagus" muncul di masukan pelanggan, fungsi ini akan memberikan hasil Yes. Jika tidak, kode ini akan memberikan hasil 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")

Di sini, kita telah menyusun fungsi is_null 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 menelusuri kata "great".

Secara logis, ekspresi ini berarti: "Jika ada masukan dari pelanggan, maka telusuri masukan itu. Jika tidak, telusuri komentar pelanggan. Dalam kedua kasus tersebut, cari kata 'hebat' ".

Filter kustom dan kolom kustom dapat menggunakan sebagian besar fungsi, tetapi tidak dapat menggunakan beberapa fungsi matematika, atau fungsi yang merujuk ke baris atau kolom pivot lain. Halaman dokumentasi Fungsi dan operator Looker memungkinkan Anda mengetahui fungsi mana yang dapat Anda gunakan.

Anda dapat menggunakan fungsi apa pun dalam penghitungan tabel. Anda juga dapat menggunakan fungsi apa pun dalam parameter expression pengujian data, karena parameter expression pada dasarnya adalah kalkulasi tabel yang menghasilkan yesno (Boolean).