case_sensitive(Explore の場合)

このページでは、Explore の一部である case_sensitive パラメータについて説明します。

case_sensitive は、case_sensitive(モデル用)パラメータのドキュメント ページで説明されているように、モデルの一部としても使用できます。

case_sensitive は、case_sensitive(フィールド用)パラメータのドキュメント ページで説明されているように、ディメンションの一部としても使用できます。

用途

explore: explore_name {
  case_sensitive: yes
}
階層
case_sensitive
デフォルト値
yes(データベース言語がパラメータをサポートしている場合)

許可
ブール値(yes または no

定義

case_sensitive は、特定の Explore でフィルタが大文字と小文字を区別するかどうかを決定します。Explore UI、ダッシュボード UI、filters パラメータで追加されたフィルタを含め、Explore に関連するすべてのフィルタが影響を受けます。

デフォルトでは、case_sensitivity がオンになっており、フィルタでは大文字と小文字が区別されます。ただし、このページの 一部の SQL 言語で case_sensitive がサポートされていないで説明されているように、一部の言語ではこのパラメータがサポートされていません。

case_sensitive は、Looker が生成する SQL の WHERE 句を調整することで機能します。case_sensitive がオンの場合、フィルタは次のように = または LIKE で表されます。

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

case_sensitive がオフの場合、フィルタは ILIKE(または同等のもの)で表されます。例:

WHERE name ILIKE 'bob'

Product Explore のすべてのフィルタで大文字と小文字を区別するようにします。

explore: product {
  case_sensitive: yes
}

Customer Explore のすべてのフィルタで大文字と小文字を区別しないようにします。

explore: customer {
  case_sensitive: no
}

一般的な課題

一部の SQL 言語では case_sensitive がサポートされていない

デフォルトでは、case_sensitivity がオンになっており、フィルタでは大文字と小文字が区別されます。SQL 言語で case_sensitive パラメータがサポートされていない場合、大文字と小文字の区別はデータベースの設定によって異なりますが、通常は大文字と小文字は区別されません。

Looker プロジェクトで case_sensitive をサポートするには、データベース言語もサポートしている必要があります。次の表に、Looker の最新リリースで case_sensitive をサポートする言語を示します。

方言 サポート対象
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

知っておくべきこと

MySQL で大文字と小文字を区別する検索を作成できます

MySQL は case_sensitive パラメータをサポートしていませんが、MySQL で大文字と小文字を区別する検索を作成することは可能です。MySQL では、バイナリ文字列と呼ばれる特定のデータ型で、テキストが一連の数値として保存されます。テキストの大文字と小文字は、使用される数値に影響します。したがって、テキストをバイナリ文字列に変換すると、大文字と小文字を区別する検索を行うことができます。次に例を示します。

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

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