diferencia maiúsculas de minúsculas (para modelos)

Esta página se refere ao parâmetro case_sensitive que faz parte de um modelo.

O case_sensitive também pode ser usado como parte de uma exploração, descrita na página de documentação case_sensitive (para explorações).

O case_sensitive também pode ser usado como parte de um campo de dimensão ou filtro, descrito na página de documentação case_sensitive (para campos).

Uso

diferente a maiúsculas: sim
Hierarquia
case_sensitive
Valor padrão
yes, se o dialeto do banco de dados oferecer suporte ao parâmetro

Aceita
Um booleano (yes ou no)

Definição

case_sensitive determina se os filtros serão tratados diferenciando maiúsculas de minúsculas em um determinado modelo. Todos os filtros relacionados ao modelo são afetados, incluindo aqueles adicionados na IU do Explore, na IU do painel, em um campo de filtro ou no parâmetro filters de uma medida.

case_sensitive funciona ajustando a cláusula WHERE do SQL gerado pelo Looker. Quando case_sensitive: yes, os filtros são expressos com = ou LIKE, como:

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

Quando case_sensitive: no, os filtros são expressos com ILIKE (ou equivalente), como:

WHERE name ILIKE 'bob'

A maioria dos dialetos SQL é compatível com case_sensitive. No entanto, se o dialeto SQL não for compatível com o parâmetro case_sensitive, a diferenciação de maiúsculas e minúsculas varia de acordo com a configuração do banco de dados, o que geralmente não diferencia maiúsculas de minúsculas. O suporte ao dialeto está listado abaixo.

Examples

Faça com que todos os filtros diferenciem maiúsculas de minúsculas de um modelo:

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

Torne todos os filtros que não diferenciam maiúsculas de minúsculas de um modelo:

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

Desafios comuns

case_sensitive não tem suporte em alguns dialetos SQL

Para que o Looker ofereça suporte a case_sensitive no projeto do Looker, o dialeto do banco de dados também precisa ser compatível. A tabela a seguir mostra quais dialetos oferecem suporte a case_sensitive na versão mais recente do Looker:

O DataVirtuality fornece uma camada de dados semântica que se conecta a vários dialetos de banco de dados. Se o Looker aceitar case_sensitive para os dialetos subjacentes, ele vai ter suporte ao case_sensitive para o DataVirtuality se conectar a eles.

Informações úteis

É possível criar uma pesquisa que diferencia maiúsculas de minúsculas no MySQL

É possível criar uma pesquisa que diferencia maiúsculas de minúsculas no MySQL sem usar o parâmetro case_sensitive. No MySQL, determinados tipos de dados, chamados strings binárias, armazenam texto como uma série de números. As letras maiúsculas do texto fazem diferença nos números usados. Portanto, ao converter o texto em uma string binária, é possível fazer pesquisas com diferenciação entre maiúsculas e minúsculas. Exemplo:

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