distinción entre mayúsculas y minúsculas (para modelos)

En esta página, se hace referencia al parámetro case_sensitive que forma parte de un modelo.

case_sensitive también se puede usar como parte de una exploración, descrita en la página de documentación case_sensitive (para Explorar).

case_sensitive también se puede usar como parte de un campo de dimensión o filtro, que se describe en la página de documentación case_sensitive (para campos).

Uso

distinción entre mayúsculas y minúsculas:
Jerarquía
case_sensitive
Valor predeterminado
yes, si el dialecto de la base de datos admite el parámetro

Acepta
Un valor booleano (yes o no)

Definición

case_sensitive determina si los filtros distinguen entre mayúsculas y minúsculas de un modelo determinado. Afecta a todos los filtros relacionados con el modelo, incluidos los que se agregan en la IU de Explorar, la IU del panel, un campo de filtro o el parámetro filters de una medida.

case_sensitive funciona mediante el ajuste de la cláusula WHERE del lenguaje SQL que genera Looker. Cuando es case_sensitive: yes, los filtros se expresan con = o LIKE, por ejemplo:

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

Cuando es case_sensitive: no, los filtros se expresan con ILIKE (o su equivalente), como los siguientes:

WHERE name ILIKE 'bob'

La mayoría de los dialectos de SQL admiten case_sensitive. Sin embargo, si tu dialecto SQL no admite el parámetro case_sensitive, la distinción entre mayúsculas y minúsculas variará según la configuración de tu base de datos, que generalmente no distinguirá entre mayúsculas y minúsculas. La asistencia por dialecto aparece a continuación.

Ejemplos

Haz que todos los filtros distingan mayúsculas de minúsculas de un modelo:

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

Hacer que todos los filtros no distingan mayúsculas de minúsculas para un modelo:

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

Desafíos habituales

case_sensitive no es compatible con algunos dialectos de SQL

Para que Looker admita case_sensitive en tu proyecto de Looker, el dialecto de la base de datos también debe admitirlo. En la siguiente tabla, se muestra qué dialectos son compatibles con case_sensitive en la versión más reciente de Looker:

DataVirtuality proporciona una capa de datos semántico que se conecta a varios dialectos de bases de datos. Si Looker admite case_sensitive para los dialectos subyacentes, entonces, Looker admite case_sensitive para DataVirtuality que se conecta a esos dialectos.

Qué debes saber

Puede crear una búsqueda que distinga entre mayúsculas y minúsculas en MySQL

Es posible crear una búsqueda que distinga entre mayúsculas y minúsculas en MySQL sin usar el parámetro case_sensitive. En MySQL, ciertos tipos de datos, llamados strings binarias, almacenan texto como una serie de números. Las mayúsculas del texto marcan una diferencia en los números que se utilizan. Por lo tanto, si convierte su texto en una string binaria, podrá realizar búsquedas que distingan entre mayúsculas y minúsculas. Por ejemplo:

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