Halaman ini mengacu pada parameter
case_sensitiveyang merupakan bagian dari Eksplorasi.
case_sensitivejuga dapat digunakan sebagai bagian dari model, yang dijelaskan di halaman dokumentasi parametercase_sensitive(untuk model).
case_sensitivejuga dapat digunakan sebagai bagian dari dimensi, yang dijelaskan di halaman dokumentasi parametercase_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 Jelajah 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 AlloyDB for PostgreSQL | |
| 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. Kapitalisasi 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) ;;
}