diferencia maiúsculas de minúsculas (para o recurso Explorar)

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

case_sensitive também pode ser usado como parte de um modelo, descrito na página de documentação de parâmetros case_sensitive (para modelos).

case_sensitive também pode ser usado como parte de uma dimensão, descrita na página de documentação do parâmetro case_sensitive (para campos).

Uso

explore: explore_name {
case_sensitive: yes
}
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 vão ser tratados com diferenciação de maiúsculas e minúsculas em uma determinada exploração. Todos os filtros relacionados ao recurso Explorar são afetados, incluindo os que foram adicionados na IU do Explorar, na IU do painel e no parâmetro filters.

Por padrão, o case_sensitivity está ativado, e os filtros diferenciam maiúsculas de minúsculas. No entanto, alguns dialetos não são compatíveis com esse parâmetro, conforme descrito na seção case_sensitive não é compatível com alguns dialetos SQL nesta página.

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

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

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

WHERE name ILIKE 'bob'

Examples

Faça com que todos os filtros diferenciem maiúsculas de minúsculas para a seção Explorar do produto:

explore: product {
  case_sensitive: yes
}

Faça com que todos os filtros não diferenciem maiúsculas de minúsculas para a exploração Cliente:

explore: customer {
  case_sensitive: no
}

Desafios comuns

case_sensitive não tem suporte em alguns dialetos SQL

Por padrão, o case_sensitivity está ativado, e os filtros diferenciam maiúsculas de minúsculas. 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, que geralmente não diferencia maiúsculas de minúsculas.

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:

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, mesmo que o MySQL não seja compatível com o parâmetro case_sensitive. No MySQL, determinados tipos de dados, chamados de 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) ;;
}