case_sensitive (für Explores)

Auf dieser Seite wird auf den case_sensitive Parameter verwiesen, der Teil eines Explore ist.

case_sensitive kann auch als Teil eines Modells verwendet werden. Weitere Informationen finden Sie auf der Dokumentationsseite zum Parameter case_sensitive (für Modelle).

case_sensitive kann auch als Teil einer Dimension verwendet werden. Weitere Informationen finden Sie auf der Dokumentationsseite zum Parameter case_sensitive (für Felder).

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 in einem 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 mit dem filters Parameter hinzugefügt wurden.

Standardmäßig ist case_sensitivity 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 durch Anpassen der WHERE-Klausel des von Looker generierten SQL. 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 das Explore Product so festlegen, dass zwischen Groß- und Kleinschreibung unterschieden wird:

explore: product {
  case_sensitive: yes
}

Alle Filter für das Explore Customer 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

Standardmäßig ist case_sensitivity aktiviert und bei Filtern wird zwischen Groß- und Kleinschreibung unterschieden. Wenn Ihr SQL-Dialekt den Parameter case_sensitive nicht unterstützt, variiert die Groß-/Kleinschreibung je nach Datenbankkonfiguration. 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 neuesten 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.x - 0.17.x
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 AlloyDB for PostgreSQL
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
MongoSQL
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

In MySQL kann eine Suche durchgeführt werden, bei der zwischen Groß- und Kleinschreibung unterschieden wird

In MySQL kann eine Suche durchgeführt werden, bei der zwischen Groß- und Kleinschreibung unterschieden wird, obwohl MySQL den Parameter case_sensitive nicht unterstützt. In MySQL wird Text in bestimmten Datentypen, sogenannten binären Strings, als Zahlenfolge gespeichert. Die Groß- und Kleinschreibung des Texts wirkt sich auf die verwendeten Zahlen aus. Wenn Sie Ihren Text in einen binären String umwandeln, können Sie daher Suchen durchführen, bei denen zwischen Groß- und Kleinschreibung unterschieden wird. Beispiel:

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

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