大文字と小文字が区別されます(Explore の場合)

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

case_sensitive は、モデルの一部として使用することもできます。詳しくは、case_sensitive(モデル用)パラメータのドキュメントをご覧ください。

case_sensitive は、ディメンションの一部として使用することもできます。詳しくは、case_sensitive(フィールド向け)パラメータのドキュメントをご覧ください。

使用状況

Explore: explore_name{
大文字と小文字を区別: はい
}
階層
case_sensitive
デフォルト値
yes(データベース言語がパラメータをサポートしている場合)

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

定義

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

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

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
}

一般的な課題

case_sensitive は一部の SQL 言語ではサポートされていません

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

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

知っておくべきこと

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

MySQL では case_sensitive パラメータがサポートされていなくても、大文字と小文字を区別して検索を行うことができます。MySQL では、バイナリ文字列と呼ばれる特定のデータ型はテキストを一連の数値として格納します。テキストは大文字で表記されるため、使用する数字が異なります。そのため、テキストをバイナリ文字列に変換すると、大文字と小文字が区別される検索ができるようになります。例:

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

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