case_sensitive (für Explores)

Auf dieser Seite wird auf den Parameter case_sensitive verwiesen, der Teil einer Exploration ist.

case_sensitive kann auch als Teil eines Modells verwendet werden. Dies wird auf der Dokumentationsseite zum Parameter case_sensitive (für Modelle) beschrieben.

case_sensitive kann auch als Teil einer Dimension verwendet werden. Dies wird auf der Dokumentationsseite zum Parameter case_sensitive (für Felder) beschrieben.

Nutzung

explore: explore_name {
  case_sensitive: yes
}
Hierarchie
case_sensitive
Standardwert
yes, wenn der Datenbankdialekt den Parameter unterstützt

Akzeptiert
Ein boolescher Wert (yes oder no)

Definition

Mit case_sensitive wird festgelegt, ob bei Filtern für einen bestimmten Explore zwischen Groß- und Kleinschreibung unterschieden werden soll. Alle Filter, die mit dem Explore verknüpft sind, sind betroffen, einschließlich der Filter, die in der Explore-Benutzeroberfläche, der Dashboard-Benutzeroberfläche und dem Parameter filters hinzugefügt wurden.

case_sensitivity ist standardmäßig aktiviert und bei Filtern wird zwischen Groß- und Kleinschreibung unterschieden. Einige Dialekte unterstützen diesen Parameter jedoch nicht, wie im Abschnitt case_sensitive wird von einigen SQL-Dialekten nicht unterstützt auf dieser Seite beschrieben.

case_sensitive funktioniert, indem die WHERE-Klausel des von Looker generierten SQL-Codes angepasst wird. Wenn case_sensitive aktiviert ist, werden Filter mit = oder LIKE ausgedrückt, z. B.:

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

Wenn case_sensitive deaktiviert ist, werden Filter mit ILIKE (oder einer entsprechenden Funktion) ausgedrückt, z. B.:

WHERE name ILIKE 'bob'

Beispiele

Alle Filter für den Produkt-Explore sollen die Groß-/Kleinschreibung berücksichtigen:

explore: product {
  case_sensitive: yes
}

Alle Filter für den Explore Customer (Kunde) so festlegen, dass nicht zwischen Groß- und Kleinschreibung unterschieden wird:

explore: customer {
  case_sensitive: no
}

Häufige Herausforderungen

case_sensitive wird von einigen SQL-Dialekten nicht unterstützt

case_sensitivity ist standardmäßig aktiviert und bei Filtern wird zwischen Groß- und Kleinschreibung unterschieden. Wenn Ihr SQL-Dialekt den Parameter case_sensitive nicht unterstützt, hängt die Groß-/Kleinschreibung von Ihrer Datenbankkonfiguration ab. In der Regel wird nicht zwischen Groß- und Kleinschreibung unterschieden.

Damit Looker case_sensitive in Ihrem Looker-Projekt unterstützen kann, muss es auch von Ihrem Datenbankdialekt unterstützt werden. In der folgenden Tabelle ist zu sehen, welche Dialekte case_sensitive in der aktuellen Version von Looker unterstützen:

Dialekt Unterstützt?
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

Wichtige Punkte

Sie können eine Suche mit Berücksichtigung der Groß-/Kleinschreibung in MySQL erstellen.

Es ist möglich, eine Suche zu erstellen, bei der die Groß-/Kleinschreibung beachtet wird, obwohl MySQL den Parameter case_sensitive nicht unterstützt. In MySQL wird Text in bestimmten Datentypen, sogenannten binären Strings, als Reihe von Zahlen gespeichert. Die Groß- und Kleinschreibung des Texts wirkt sich auf die verwendeten Zahlen aus. Wenn Sie Ihren Text in einen Binärstring umwandeln, können Sie daher Suchanfragen stellen, bei denen die Groß- und Kleinschreibung beachtet wird. Beispiel:

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

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