case_sensitive(モデルの場合)

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

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

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

用途

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

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

定義

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

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

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

case_sensitive: no の場合、フィルタは次のように ILIKE(または同等のもの)で表されます。

WHERE name ILIKE 'bob'

ほとんどの SQL 言語は case_sensitive をサポートしています。ただし、SQL 言語が case_sensitive パラメータをサポートしていない場合、大文字と小文字の区別はデータベースの設定によって異なり、通常は大文字と小文字は区別されません。言語のサポートについては、一部の SQL 言語では case_sensitive がサポートされていないをご覧ください。

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

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

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

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

一般的な課題

一部の 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

DataVirtuality は、さまざまなデータベース言語に接続するセマンティック データレイヤを提供します。Looker が基盤となる言語の case_sensitive をサポートしている場合、Looker はそれらの言語に接続する DataVirtuality の case_sensitive をサポートします。

知っておくべきこと

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) ;;
}