Ekspresi filter Looker

Ekspresi filter adalah cara lanjutan untuk memfilter kueri Looker, dan halaman ini menjelaskan cara menulisnya. Di bagian Jelajahi di Looker, Anda dapat menggunakannya dengan menambahkan filter dan memilih opsi kecocokan (lanjutan). Parameter ini juga digunakan di LookML untuk elemen yang menggunakan parameter filter.

String

Contoh Deskripsi
FOO sama persis dengan "FOO"
FOO,BAR sama dengan "FOO" atau "BAR", persis
%FOO% berisi "FOO", cocok dengan "buffoon" dan "fast food"
FOO% diawali dengan "FOO", cocok dengan "foolish" dan "food", tetapi tidak cocok dengan "buffoon" atau "fast food"
%FOO diakhiri dengan "FOO", cocok dengan "buffoo" dan "fast foo", tetapi tidak cocok dengan "buffoon" atau "fast food"
F%OD diawali dengan "F" dan diakhiri dengan "OD", cocok dengan "fast food"
EMPTY string kosong (tidak memiliki karakter) atau null (tidak ada nilai)
NULL nilai adalah null (jika digunakan sebagai bagian dari ekspresi filter LookML, tempatkan NULL dalam tanda kutip, seperti yang ditunjukkan di halaman dokumentasi filters)
-FOO tidak sama dengan "FOO" (adalah nilai apa pun kecuali "FOO"), cocok dengan "pizza", "trash", "fun", tetapi tidak cocok dengan "foo"
-FOO,-BAR tidak sama dengan "FOO" atau "BAR", cocok dengan nilai apa pun kecuali "FOO" dan "BAR"
-%FOO% tidak berisi "FOO", tidak cocok dengan "buffoon" atau "fast food"
-FOO% tidak diawali dengan "FOO", tidak cocok dengan "foolish" atau "food"
-%FOO tidak diakhiri dengan "FOO", tidak cocok dengan "buffoo" atau "fast foo"
-EMPTY string tidak kosong (memiliki minimal satu karakter)
-NULL nilai kolom bukan null (jika digunakan sebagai bagian dari ekspresi filter LookML, tempatkan -NULL dalam tanda kutip, seperti yang ditunjukkan di halaman dokumentasi filters)
FOO%,BAR diawali dengan "FOO" atau sama persis dengan "BAR", cocok dengan "food" dan cocok dengan "bar", tetapi tidak cocok dengan "barfood"
FOO%,-FOOD diawali dengan "FOO", tetapi bukan "FOOD"
_UF memiliki satu karakter apa pun yang diikuti dengan "UF", cocok dengan "buffoon"

Menyertakan karakter khusus dalam filter string

Perhatikan aturan berikut untuk menyertakan karakter khusus dalam filter string:

  • Untuk menyertakan ", %, atau _, awali dengan karakter escape, ^. Misalnya: ^", ^%, dan ^_
  • Untuk menyertakan - di awal, escape ^-. Hal ini hanya diperlukan jika - adalah karakter awal; Anda tidak perlu meng-escape - jika berada di dalam string.
  • Untuk menyertakan ^, escape ^ sebagai ^^.
  • Untuk menyertakan koma dalam filter string UI reguler, awali koma dengan karakter garis miring terbalik, \. Contoh: Santa Cruz\, CA.
  • Untuk menyertakan koma dengan opsi cocok (lanjutan) dalam filter, awali koma dengan karakter escape, ^. Misalnya: Santa Cruz^, CA
  • Untuk menyertakan koma dalam ekspresi filter di LookML, awali dengan karakter escape, ^. Misalnya:
  field: filtered_count {
      type: count
      filters: [city: "Santa Cruz^, CA"]
    }

Tanggal dan Waktu

Pemfilteran tanggal Looker memungkinkan frasa bahasa Inggris digunakan, bukan fungsi tanggal SQL.

Struktur dasar filter tanggal dan waktu

Untuk contoh berikut:

  • {n} adalah bilangan bulat.
  • {interval} adalah penambahan waktu seperti jam, hari, minggu, atau bulan.

    Frasa yang Anda gunakan menentukan apakah {interval} akan menyertakan jangka waktu sebagian atau hanya jangka waktu lengkap. Misalnya, ekspresi 3 days mencakup hari parsial saat ini serta dua hari sebelumnya. Ekspresi 3 days ago for 3 days mencakup tiga hari penuh sebelumnya dan mengecualikan hari parsial saat ini. Lihat bagian Tanggal Relatif untuk mengetahui informasi selengkapnya.

  • {time} dapat menentukan waktu yang diformat sebagai YYYY-MM-DD HH:MM:SS atau YYYY/MM/DD HH:MM:SS, atau tanggal yang diformat sebagai YYYY-MM-DD atau YYYY/MM/DD. Saat menggunakan format YYYY-MM-DD, pastikan untuk menyertakan kedua digit untuk bulan dan hari, misalnya, 2016-01. Memotong bulan atau hari menjadi satu digit ditafsirkan sebagai offset, bukan tanggal. Misalnya, 2016-1 ditafsirkan sebagai 2016 minus satu tahun, atau 2015.

Berikut adalah semua kemungkinan kombinasi filter tanggal:

Kombinasi Contoh Catatan
this {interval} this month Anda dapat menggunakan this week, this month, this quarter, atau this year. Perhatikan bahwa this day tidak didukung. Jika ingin mendapatkan data dari hari ini, Anda dapat menggunakan today.
{n} {interval} 3 days
{n} {interval} ago 3 days ago
{n} {interval} ago for {n} {interval} 3 months ago for 2 days
before {n} {interval} ago before 3 days ago
before {time} before 2018-01-01 12:00:00 before tidak mencakup waktu yang Anda tentukan. Ekspresi before 2018-01-01 akan menampilkan data dari semua tanggal sebelum 01-01-2018, tetapi tidak akan menampilkan data dari 01-01-2018.
after {time} after 2018-10-05 after mencakup waktu yang Anda tentukan. Jadi, ekspresi after 2018-10-05 akan menampilkan data dari 05-10-2018 dan semua tanggal setelah 05-10-2018.
{time} to {time} 2018-05-18 12:00:00 to

2018-05-18 14:00:00
Nilai waktu awal bersifat inklusif, tetapi nilai waktu berikutnya tidak. Jadi, ekspresi 2018-05-18 12:00:00 to 2018-05-18 14:00:00 akan menampilkan data dengan waktu "2018-05-18 12:00:00" hingga "2018-05-18 13:59:59".
this {interval} to {interval} this year to second Awal setiap interval digunakan. Misalnya, ekspresi this year to second menampilkan data dari awal tahun saat kueri dijalankan hingga awal detik saat kueri dijalankan. this week to day menampilkan data dari awal minggu saat kueri dijalankan hingga awal hari saat kueri dijalankan.
{time} for {n} {interval} 2018-01-01 12:00:00 for 3 days
today today
yesterday yesterday
tomorrow tomorrow
{day of week} Monday Menentukan hari dalam seminggu dengan kolom Tanggal Grup Dimensi akan menampilkan tanggal terbaru yang cocok dengan hari dalam seminggu yang ditentukan. Misalnya, ekspresi Dimension Group Date matches (advanced) Monday menampilkan Senin terbaru.

Anda juga dapat menggunakan {day of week} dengan kata kunci before dan after dalam konteks ini. Misalnya, ekspresi Dimension Group Date matches (advanced) after Monday menampilkan Senin terbaru dan semua hari setelah Senin terbaru. Ekspresi Dimension Group Date matches (advanced) before Monday ditampilkan setiap hari sebelum Senin terbaru, tetapi tidak menampilkan Senin terbaru.

Menentukan hari dalam seminggu dengan kolom Hari dalam Minggu Grup Dimensi akan menampilkan setiap hari yang cocok dengan hari dalam seminggu yang ditentukan. Jadi, ekspresi Dimension Group Day of Week matches (advanced) Monday ditampilkan setiap hari Senin.
next {week, month, quarter, fiscal quarter, year, fiscal year} next week Kata kunci next bersifat unik karena memerlukan salah satu interval yang tercantum sebelumnya dan tidak akan berfungsi dengan interval lain.
{n} {interval} from now 3 days from now
{n} {interval} from now for {n} {interval} 3 days from now for 2 weeks

Filter tanggal juga dapat digabungkan:

  • Untuk mendapatkan logika ATAU: Ketik beberapa kondisi ke dalam filter yang sama, yang dipisahkan dengan koma. Misalnya, today, 7 days ago berarti "hari ini atau 7 hari yang lalu".
  • Untuk mendapatkan logika DAN: Ketik kondisi Anda, satu per satu, ke dalam beberapa filter tanggal atau waktu. Misalnya, Anda dapat memasukkan after 2014-01-01 ke dalam filter Tanggal Pembuatan, lalu memasukkan before 2 days ago ke dalam filter Waktu Pembuatan. Artinya, "1 Januari 2014 dan setelahnya, serta sebelum 2 hari yang lalu".

Tanggal absolut

Filter tanggal absolut menggunakan nilai tanggal tertentu untuk menghasilkan hasil kueri. Hal ini berguna saat membuat kueri untuk rentang tanggal tertentu.

Contoh Deskripsi
2018/05/29 sekitar tanggal 29/05/2018
2018/05/10 for 3 days dari 10/05/2018 00.00.00 hingga 12/05/2018 23.59.59
after 2018/05/10 10/05/2018 00.00.00 dan setelahnya
before 2018/05/10 sebelum 10/05/2018 00.00.00
2018/05 dalam seluruh bulan 05/2018
2018/05 for 2 months dalam seluruh bulan 05/2018 dan 06/2018
2018/05/10 05:00 for 5 hours dari 10/05/2018 05.00.00 hingga 10/05/2018 09.59.59
2018/05/10 for 5 months dari 10/05/2018 00.00.00 hingga 09/10/2018 23.59.59
2018 seluruh tahun 2018 (2018/01/01 00:00:00 hingga 2018/12/31 23:59:59)
FY2018 seluruh tahun fiskal yang dimulai pada tahun 2018 (jika developer Looker Anda telah menentukan bahwa tahun fiskal Anda dimulai pada bulan April, maka periode ini adalah 01/04/2018 00.00 hingga 31/03/2019 23.59)
FY2018-Q1 kuartal pertama tahun fiskal yang dimulai pada tahun 2018 (jika developer Looker Anda telah menentukan bahwa tahun fiskal Anda dimulai pada bulan April, maka ini adalah 01/04/2018 00.00.00 hingga 30/06/2018 23.59.59)

Tanggal relatif

Filter tanggal relatif memungkinkan Anda membuat kueri dengan nilai tanggal berjalan yang relatif terhadap tanggal saat ini. Hal ini berguna saat membuat kueri yang diperbarui setiap kali Anda menjalankan kueri.

Untuk semua contoh berikut, asumsikan hari ini adalah Jumat, 18/05/2018 18.30.02. Di Looker, minggu dimulai pada hari Senin, kecuali jika Anda mengubah setelan tersebut dengan week_start_day.

Detik

Contoh Deskripsi
1 second detik saat ini (2018/05/18 18:30:02)
60 seconds 60 detik yang lalu selama 60 detik (2018/05/18 18:29:02 hingga 2018/05/18 18:30:01)
60 seconds ago for 1 second 60 detik yang lalu selama 1 detik (2018/05/18 18:29:02)

Menit

Contoh Deskripsi
1 minute menit saat ini (2018/05/18 18:30:00 hingga 18:30:59)
60 minutes 60 menit yang lalu selama 60 menit (2018/05/18 17:31:00 hingga 2018/05/18 18:30:59)
60 minutes ago for 1 minute 60 menit yang lalu selama 1 menit (2018/05/18 17:30:00 hingga 2018/05/18 17:30:59)

Jam

Contoh Deskripsi
1 hour jam saat ini (2018/05/18 18.00 hingga 2018/05/18 18.59)
24 hours jam yang sama dengan 24 jam yang lalu selama 24 jam (2018/05/17 19.00 hingga 2018/05/18 18.59)
24 hours ago for 1 hour jam yang sama dengan 24 jam yang lalu selama 1 jam (2018/05/17 18.00 hingga 2018/05/17 18.59)

Hari

Contoh Deskripsi
today hari ini (2018/05/18 00:00 hingga 2018/05/18 23:59)
2 days kemarin dan hari ini (2018/05/17 00.00 hingga 2018/05/18 23.59)
1 day ago kemarin saja (17/05/2018 00.00 hingga 17/05/2018 23.59)
7 days ago for 7 days 7 hari terakhir yang lengkap (2018/05/11 00.00 hingga 2018/05/17 23.59)
today for 7 days hari ini, mulai tengah malam, selama 7 hari ke depan (2018/05/18 00.00 hingga 2018/05/24 23.59)
last 3 days 2 hari yang lalu hingga akhir hari ini (2018/05/16 00.00 hingga 2018/05/18 23.59)
7 days from now 7 hari ke depan (2018/05/18 00.00 hingga 2018/05/25 23.59)

Minggu

Contoh Deskripsi
1 week awal minggu ini dan seterusnya (2018/05/14 00.00 hingga 2018/05/20 23.59)
this week awal minggu ini dan seterusnya (2018/05/14 00.00 hingga 2018/05/20 23.59)
before this week kapan saja hingga akhir minggu ini (sebelum 14/05/2018 00.00)
after this week kapan saja setelah awal minggu ini (2018/05/14 00.00 dan seterusnya)
next week Senin berikutnya dan seterusnya selama 1 minggu (21/05/2018 00.00 hingga 27/05/2018 23.59)
2 weeks Senin seminggu yang lalu dan seterusnya (07/05/2018 00.00 hingga 20/05/2018 23.59)
last week sinonim untuk "1 minggu yang lalu"
1 week ago Senin seminggu yang lalu hingga 1 minggu ke depan (07/05/2018 00.00 hingga 13/05/2018 23.59)

Bulan

Contoh Deskripsi
1 month bulan ini (01/05/2018 00.00 hingga 31/05/2018 23.59)
this month sinonim untuk "0 bulan yang lalu" (01/05/2018 00.00 hingga 31/05/2018 23.59)
2 months dua bulan terakhir (01/04/2018 00.00 hingga 31/05/2018 23.59)
last month semua 04/2018
2 months ago semua 03/2018
before 2 months ago all time before 2018/03/01
next month semua 06/2018
2 months from now semua 07/2018
6 months from now for 3 months 11/2018 hingga 01/2019

Kuartal

Contoh Deskripsi
1 quarter kuartal saat ini (01/04/2018 00.00 hingga 30/06/2018 23.59)
this quarter sinonim untuk "0 kuartal yang lalu" (01/04/2018 00.00 hingga 30/06/2018 23.59)
2 quarters dua kuartal terakhir (01/01/2018 00.00 hingga 30/06/2018 23.59)
last quarter seluruh Kuartal 1 (01/01/2018 00.00 hingga 31/03/2018 23.59)
2 quarters ago seluruh Kuartal 4 tahun lalu (01/01/2017 00.00 hingga 31/12/2017 23.59)
before 2 quarters ago sepanjang waktu sebelum Kuartal 4 tahun lalu
next quarter semua kuartal berikut (01/07/2018 00.00 hingga 30/09/2018 23.59)
2018-07-01 for 1 quarter seluruh Kuartal 3 (01/07/2018 00.00 hingga 30/09/2018 23.59)
2018-Q4 seluruh Kuartal 4 (01/10/2018 00.00 hingga 31/12/2018 23.59)

Tahun

Contoh Deskripsi
1 year semua tahun berjalan (01/01/2018 00.00 hingga 31/12/2018 23.59)
this year semua tahun berjalan (00.00 01/01/2018 hingga 23.59 31/12/2018)
next year sepanjang tahun berikutnya (00.00 01/01/2019 hingga 23.59 31/12/2019)
2 years dua tahun terakhir (01/01/2017 00.00 hingga 31/12/2018 23.59)
last year sepanjang tahun 2017
2 years ago sepanjang tahun 2016
before 2 years ago semua waktu sebelum 01/01/2016 (tidak mencakup hari apa pun antara 01/01/2016 dan 18/05/2016)

Boolean

Untuk memfilter nilai jenis benar atau salah di Looker, Anda harus mengetahui jenis nilai benar atau salah yang Anda gunakan.

Contoh Deskripsi
yes atau Yes kolom dievaluasi menjadi benar

Developer Looker: untuk dimensi type: yesno, gunakan huruf kecil, untuk parameter filters (seperti yang digunakan dalam ukuran atau digunakan dalam always_filter), gunakan huruf besar
no atau No kolom bernilai salah

Developer Looker: untuk dimensi type: yesno, gunakan huruf kecil, untuk parameter filters (seperti yang digunakan dalam ukuran atau digunakan dalam always_filter), gunakan huruf besar
TRUE kolom berisi true (untuk kolom yang berisi nilai database Boolean)
FALSE kolom berisi salah (untuk kolom yang berisi nilai database Boolean)

Angka

Filter pada angka mendukung ekspresi bahasa alami (misalnya, 3 to 10) dan operator relasional (misalnya, >20). Looker mendukung operator OR untuk menyatakan beberapa rentang filter (misalnya, 3 to 10 OR 30 to 100). Operator AND dapat digunakan untuk menyatakan rentang numerik dengan operator relasional (misalnya, >=3 AND <=10) untuk menentukan rentang. Filter pada angka juga dapat menggunakan notasi interval aljabar untuk memfilter kolom numerik.

Contoh Deskripsi
5 sama persis dengan 5
NOT 5

<>5

!=5
adalah nilai apa pun, tetapi tidak tepat 5
1, 3, 5, 7 adalah salah satu nilai 1, 3, 5, atau 7, persis
NOT 66, 99, 4 bukan salah satu nilai 66, 99, atau 4, persis
>1 AND <100, NOT 2 lebih besar dari 1 dan kurang dari 100, bukan 2
NOT >1, 2, <100 kurang dari atau sama dengan 1, bukan 2, dan lebih besar dari atau sama dengan 100 (Looker mengenali bahwa ini adalah kondisi yang tidak mungkin, dan sebagai gantinya akan menulis SQL `IS NULL`)
5, NOT 6, NOT 7 adalah 5, bukan 6 atau 7
5.5 to 10

>=5.5 AND <=10
adalah 5,5 atau lebih besar, tetapi juga 10 atau kurang
NOT 3 to 80.44

<3 OR >80.44
kurang dari 3 atau lebih besar dari 80,44
1 to

>=1
adalah 1 atau lebih besar
to 10

<=10
adalah 10 atau kurang
>10 AND <=20 OR 90 lebih besar dari 10 dan kurang dari atau sama dengan 20, atau tepat 90
>=50 AND <=100 OR >=500 AND <=1000 antara 50 dan 100, inklusif, atau antara 500 dan 1.000, inklusif
NULL tidak memiliki data di dalamnya (jika digunakan sebagai bagian dari ekspresi filter LookML, tempatkan NULL dalam tanda kutip, seperti yang ditunjukkan di halaman dokumentasi filters)
NOT NULL memiliki beberapa data di dalamnya (jika digunakan sebagai bagian dari ekspresi filter LookML, tempatkan NOT NULL dalam tanda kutip, seperti yang ditunjukkan di halaman dokumentasi filters)
(1, 7) ditafsirkan sebagai 1 < x < 7 dengan endpoint tidak disertakan. Meskipun notasi ini menyerupai pasangan terurut, dalam konteks ini, notasi ini mengacu pada interval yang Anda gunakan.
[5, 90] ditafsirkan sebagai 5 <= x <= 90 dengan endpoint disertakan
(12, 20] ditafsirkan sebagai 12 < x <= 20 dengan 12 tidak disertakan, tetapi 20 disertakan
[12, 20) ditafsirkan sebagai 12 <= x < 20 dengan 12 disertakan, tetapi 20 tidak disertakan
(500, inf) ditafsirkan sebagai x > 500 dengan 500 tidak disertakan dan tak terhingga selalu dinyatakan sebagai "terbuka" (tidak disertakan). inf dapat dihilangkan dan (500, inf) dapat ditulis sebagai (500,)
(-inf, 10] ditafsirkan sebagai x <= 10 dengan 10 disertakan dan tak terhingga selalu dinyatakan sebagai "terbuka" (tidak disertakan). inf dapat dihilangkan dan (-inf, 10] dapat ditulis sebagai (,10]
[0,9],[20,29] angka antara 0 dan 9 inklusif atau 20 hingga 29 inklusif
[0,10],20 0 hingga 10 inklusif atau 20
NOT (3,12) ditafsirkan sebagai x < 3 dan x > 12

Lokasi

Ekspresi filter lokasi didasarkan pada lintang dan bujur, tetapi dapat menerima beberapa bahasa alami untuk menentukan kotak dan lingkaran yang digunakan untuk membatasi penelusuran.

Contoh Deskripsi
36.97, -122.03 lokasi berada tepat di lintang 36,97, bujur 122,03
40 miles from 36.97, -122.03 lokasi berada dalam radius 40 mil dari lintang 36,97, bujur -122,03
inside box from 72.33, -173.14 to 14.39, -61.70 lokasi berada dalam kotak yang sudut barat laut-nya berada di lintang 72,33, bujur -173,14, dan sudut tenggara-nya berada di lintang 14,39, bujur -61,70
NOT NULL (works the same as -NULL) lokasi memiliki lintang non-null dan bujur non-null (jika digunakan sebagai bagian dari ekspresi filter LookML, tempatkan NOT NULL dalam tanda kutip, seperti yang ditunjukkan di halaman dokumentasi filters)
-NULL (works the same as NOT NULL) lokasi memiliki lintang non-null dan bujur non-null (jika digunakan sebagai bagian dari ekspresi filter LookML, tempatkan -NULL dalam tanda kutip, seperti yang ditunjukkan di halaman dokumentasi filters)
NULL lokasi memiliki lintang null, atau bujur null, atau keduanya null (jika digunakan sebagai bagian dari ekspresi filter LookML, tempatkan NULL dalam tanda kutip, seperti yang ditunjukkan di halaman dokumentasi filters)

Satuan pengukuran yang didukung

Untuk memfilter di area sekitar lokasi tertentu, Anda dapat menggunakan unit berikut:

  • Meter
  • Kaki
  • Kilometer
  • Mil

Satuan pengukuran tunggal tidak didukung. Misalnya, pemfilteran untuk radius satu mil harus ditulis within 1 miles of 36.97, -122.03.

Nilai Atribut Pengguna

Untuk menggunakan nilai atribut pengguna dalam ekspresi filter, referensikan atribut pengguna dengan Variabel Liquid _user_attributes menggunakan sintaksis yang diperlukan oleh dialek database Anda:

{{ _user_attributes['name_of_attribute'] }}

Misalnya, Anda perlu menerapkan awalan sf_ ke nilai atribut pengguna salesforce_username karena itulah cara nilai disimpan di database Anda. Untuk menambahkan awalan ke nilai atribut pengguna, Anda dapat menambahkan filter cocok (lanjutan) di kolom yang relevan dan menggunakan variabel Liquid _user_attributes dalam ekspresi filter sebagai berikut:


sf_{{_user_attributes['salesforce_username']}}

Anda dapat menggunakan pola yang sama untuk menyisipkan atribut pengguna ke filter dasbor dan filter elemen dasbor LookML.