case_sensitive (untuk model)

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

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

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

Penggunaan

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 untuk model tertentu. Semua filter yang terkait dengan model akan terpengaruh, termasuk filter yang ditambahkan di UI Eksplorasi, UI Dasbor, kolom filter, atau parameter filters metrik.

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

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

Saat case_sensitive: no, filter dinyatakan dengan ILIKE (atau yang setara), seperti:

WHERE name ILIKE 'bob'

Sebagian besar dialek SQL mendukung case_sensitive. Namun, 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. Dukungan dialek tercantum di case_sensitive tidak didukung oleh beberapa dialek SQL.

Contoh

Membuat semua filter peka huruf besar/kecil untuk model:

connection: "connection_name"
include: "filename_or_pattern"
case_sensitive: yes
explore: explore_name {...}

Membuat semua filter tidak peka huruf besar/kecil untuk model:

connection: "connection_name"
include: "filename_or_pattern"
case_sensitive: no

Tantangan umum

case_sensitive tidak didukung oleh beberapa dialek SQL

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

DataVirtuality menyediakan lapisan data semantik yang terhubung ke berbagai dialek database. Jika Looker mendukung case_sensitive untuk dialek pokok, maka Looker mendukung case_sensitive untuk DataVirtuality yang terhubung ke dialek tersebut.

Yang perlu diketahui

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

Anda dapat membuat penelusuran peka huruf besar/kecil di MySQL tanpa menggunakan 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) ;;
}