case_sensitive (untuk Eksplorasi)

Halaman ini mengacu pada parameter case_sensitive yang merupakan bagian dari Eksplorasi.

case_sensitive juga dapat digunakan sebagai bagian dari model, yang dijelaskan di halaman dokumentasi parameter case_sensitive (untuk model).

case_sensitive juga dapat digunakan sebagai bagian dari dimensi, yang dijelaskan di halaman dokumentasi parameter case_sensitive (untuk kolom).

Penggunaan

explore: explore_name {
  case_sensitive: yes
}
Hierarki
case_sensitive
Nilai Default
yes, jika dialek database mendukung parameter

Menerima
Boolean (yes atau no)

Definisi

case_sensitive menentukan apakah filter akan diperlakukan sebagai peka huruf besar/kecil pada Eksplorasi tertentu atau tidak. Semua filter yang terkait dengan Eksplorasi akan terpengaruh, termasuk filter yang ditambahkan di UI Eksplorasi, UI Dasbor, dan parameter filters.

Secara default, case_sensitivity diaktifkan dan filter peka huruf besar/kecil. Namun, beberapa dialek tidak mendukung parameter ini, seperti yang dijelaskan di bagian case_sensitive tidak didukung oleh beberapa dialek SQL di halaman ini.

case_sensitive berfungsi dengan menyesuaikan klausa WHERE dari SQL yang dihasilkan Looker. Jika case_sensitive aktif, filter dinyatakan dengan = atau LIKE, seperti:

WHERE name = 'bob'
WHERE name LIKE '%bob%'

Jika case_sensitive nonaktif, filter dinyatakan dengan ILIKE (atau yang setara), seperti:

WHERE name ILIKE 'bob'

Contoh

Membuat semua filter peka huruf besar/kecil untuk Eksplorasi Produk:

explore: product {
  case_sensitive: yes
}

Membuat semua filter tidak peka huruf besar/kecil untuk Eksplorasi Pelanggan:

explore: customer {
  case_sensitive: no
}

Tantangan umum

case_sensitive tidak didukung oleh beberapa dialek SQL

Secara default, case_sensitivity diaktifkan dan filter peka huruf besar/kecil. Jika dialek SQL Anda tidak mendukung parameter case_sensitive, sensitivitas huruf besar/kecil akan bervariasi sesuai dengan penyiapan database Anda, yang biasanya tidak peka huruf besar/kecil.

Agar Looker mendukung case_sensitive di project Looker Anda, dialek database Anda juga harus mendukungnya. Tabel berikut menunjukkan dialek yang mendukung case_sensitive dalam rilis terbaru Looker:

Dialek Didukung?
Actian Avalanche
Amazon Athena
Amazon Aurora MySQL
Amazon Redshift
Amazon Redshift 2.1+
Amazon Redshift Serverless 2.1+
Apache Druid
Apache Druid 0.13+
Apache Druid 0.18+
Apache Hive 2.3+
Apache Hive 3.1.2+
Apache Spark 3+
ClickHouse
Cloudera Impala 3.1+
Cloudera Impala 3.1+ with Native Driver
Cloudera Impala with Native Driver
DataVirtuality
Databricks
Denodo 7
Denodo 8 & 9
Dremio
Dremio 11+
Exasol
Google BigQuery Legacy SQL
Google BigQuery Standard SQL
Google Cloud PostgreSQL
Google Cloud SQL
Google Spanner
Greenplum
HyperSQL
IBM Netezza
MariaDB
Microsoft Azure PostgreSQL
Microsoft Azure SQL Database
Microsoft Azure Synapse Analytics
Microsoft SQL Server 2008+
Microsoft SQL Server 2012+
Microsoft SQL Server 2016
Microsoft SQL Server 2017+
MongoBI
MySQL
MySQL 8.0.12+
Oracle
Oracle ADWC
PostgreSQL 9.5+
PostgreSQL pre-9.5
PrestoDB
PrestoSQL
SAP HANA
SAP HANA 2+
SingleStore
SingleStore 7+
Snowflake
Teradata
Trino
Vector
Vertica

Yang perlu diketahui

Anda dapat membuat penelusuran yang peka huruf besar/kecil di MySQL

Anda dapat membuat penelusuran peka huruf besar/kecil di MySQL, meskipun MySQL tidak mendukung parameter case_sensitive. Di MySQL, jenis data tertentu — yang disebut string biner — menyimpan teks sebagai serangkaian angka. Penggunaan huruf kapital pada teks akan memengaruhi angka yang digunakan. Oleh karena itu, jika Anda mengonversi teks menjadi string biner, Anda dapat melakukan penelusuran yang peka huruf besar/kecil. Contoh:

dimension: will_NOT_be_case_sensitive {
  sql: ${TABLE}.something ;;
}

dimension: will_be_case_sensitive {
  sql: CAST(${TABLE}.something AS BINARY) ;;
}