Esta página se refere ao
case_sensitiveparâmetro que faz parte de uma análise exploratória.
case_sensitivetambém pode ser usado como parte de um modelo, descrito na página de documentação do parâmetrocase_sensitive(para modelos).
case_sensitivetambém pode ser usado como parte de uma dimensão, descrita na página de documentação do parâmetrocase_sensitive(para campos).
Uso
explore: explore_name {
case_sensitive: yes
}
|
Hierarquia
case_sensitive |
Valor padrão
yes, se o dialeto do banco de dados for compatível com o parâmetro
Aceita
Um booleano (yes ou no)
|
Definição
case_sensitive determina se os filtros serão tratados como diferenciação de maiúsculas e minúsculas em uma determinada análise exploratória. Todos os filtros relacionados à análise exploratória são afetados, incluindo aqueles adicionados na interface da análise exploratória, na interface do painel e no filters parâmetro.
Por padrão, case_sensitivity está ativado e os filtros diferenciam maiúsculas de minúsculas. No entanto, alguns dialetos não oferecem suporte a 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'
Exemplos
Deixar todos os filtros com diferenciação de maiúsculas e minúsculas para a análise exploratória Produto:
explore: product {
case_sensitive: yes
}
Deixar todos os filtros sem diferenciação de maiúsculas e minúsculas para a análise exploratória Cliente:
explore: customer {
case_sensitive: no
}
Desafios comuns
case_sensitive não é compatível com alguns dialetos SQL
Por padrão, case_sensitivity está ativado e os filtros diferenciam maiúsculas de minúsculas. Se o dialeto SQL não oferecer suporte ao parâmetro case_sensitive, a diferenciação de maiúsculas e minúsculas vai variar 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 seu projeto, o dialeto do banco de dados também precisa oferecer suporte a ele. A tabela a seguir mostra quais dialetos oferecem suporte a case_sensitive na versão mais recente do Looker:
| Dialeto | Compatível? |
|---|---|
| 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 |
Informações importantes
É possível criar uma pesquisa com diferenciação de maiúsculas e minúsculas no MySQL
É possível criar uma pesquisa com diferenciação de maiúsculas e minúsculas no MySQL, mesmo que ele não ofereça suporte ao parâmetro case_sensitive. No MySQL, determinados tipos de dados, chamados de strings binárias, armazenam texto como uma série de números. A capitalização do texto faz diferença nos números usados. Portanto, se você converter o texto em uma string binária, poderá fazer pesquisas que diferenciam maiúsculas de minúsculas. Exemplo:
dimension: will_NOT_be_case_sensitive {
sql: ${TABLE}.something ;;
}
dimension: will_be_case_sensitive {
sql: CAST(${TABLE}.something AS BINARY) ;;
}