Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Fala pessoal, tudo bom?
Neste post quero apresentar e tirar várias dúvidas com as formas de busca/pesquisa que o QlikView realiza em campos ou expressões. Vamos aprender essa sintaxe?
IMPORTANTE: Como tenho muito a falar sobre o assunto, irei dividir o post em duas etapas.
Muitas das dicas que passarei aqui já foram citadas por alguns posts na QlikCommunity, não deixem de ler:
Porque aprender esse assunto? É importante entender a sintaxe de pesquisa do QlikView para nos ajudar a criar disparadores, ações e também a implementações dos modificadores do Set Analysis.Mas afinal o que é e como são os tipos de busca/pesquisa que o QlikView realiza?
Você pode escolher os tipos de pesquisa de um objeto através das seguintes opções:
Os tipos de pesquisa são:
OBSERVAÇÃO: Esses tipos de pesquisas podem ser chamados de pesquisa inicial, pois eles vão definir como será a sua busca a partir do momento que começar a digitar.
A forma mais simples de pesquisa é a de texto. O QlikView pesquisará os valores de campo correspondentes
aos caracteres de texto digitados.
Na pesquisa normal (nenhum caractere curinga), o QlikView buscará palavras que comecem com o caractere da pesquisa. Se a cadeia de caracteres da pesquisa contiver várias palavras separadas por espaços em branco, o QlikView a interpretará como vários caracteres de pesquisa e exibirá valores de campo que contenham qualquer um dos caracteres.
Se forem usados caracteres curinga, somente os registros correspondentes à cadeia de caracteres inteira da pesquisa serão exibidos, ou seja, um espaço em branco não implicará uma lógica OR. Os caracteres curinga podem aparecer diversas vezes na cadeia de caracteres da pesquisa, independentemente de sua localização.
Podem ser usados os seguintes caracteres curinga:
IMPORTANTE: O sistema de pesquisa do QlikView não diferencia caractere maiúsculo de caractere minúsculo, em outras palavras, a sua busca não será sensível (not case sensitive). Existe duas maneiras pesquisa ser sensível: O texto não possui espaço como separador e você digitar o texto entre parênteses, ou através do uso de funções.
Vamos passar por alguns exemplos para entender, mas antes vou criar alguns dados:
Tabela:
LOAD
TEXTO,
RowNo() as NUMERO
INLINE [
TEXTO
YURI
Yuri
yuri
yuRi
Yuri Nicolett
YURI NICOLETT
yuri nicolett
Paula Nicolett
Nicodemos
];
Se digitarmos o texto puro, então o QlikView vai buscar por qualquer palavra que se inicie ou termine com a palavra digitada:
Se realizarmos a busca adicionando o texto entre parenteses, então o QlikView vai buscar o resultado exato, fazendo diferenciação entre Maiúsculo ou Minúsculo apenas para palavras que não possuem espaço:
Palavras da lista em que não conseguirei fazer a busca separadamente sem o uso de funções:
Podemos fazer a busca por mais de uma cadeia de caracteres utilizando o espaço entre os textos:
Se buscamos uma palavra que contenha espaços, então devemos utilizar aspas:
Podemos evoluir a forma de pesquisa em caracteres de texto através da pesquisa curinga, ou seja, os caracteres irão substituir algo em que não tenho conhecimento.
Tudo o que se inicia com nico:
Busca por palavras que se iniciam por qualquer coisa, mas tenha nico em algum trecho e termine com qualquer coisa:
Busca por palavras que se iniciem por qualquer coisa, mas terminem com Nicolett:
Busca por palavras que se iniciam por 2 (dois) quaisquer primeiros caracteres e terminem e ri:
Temos o mesmo comportamento da Pesquisa Normal para os numerais:
A vantagem é que podemos fazer a busca com comparações numéricas através dos sinais ">" e "<"
Você também pode fazer a pesquisa através do resultado obtido através de funções. Para isso não se esqueça de utilizar o sinal de igual '=' antes de escrever a sua função.
Lembra das três palavras que não eram possíveis de busca-las através de uma pesquisa? Podemos pesquisa-las através de funções, por exemplo:
Pesquisa de resultados através de agrupadores:
Busca somente os resultados em que o somatório da coluna NUMERO seja maior que 5
Busca somente os resultados em que a coluna TEXTO tenha mais do que 10 caracteres:
Busca um resultado mesmo que o usuário tenha digitado o valor incorreto, isso ocorre devido ao rank de semelhança que o QlikView gera, ao selecionar o valor que mais se assemelha será selecionado:
Podemos complicar melhorar ainda mais os exercícios com a pesquisa curinga.
O circunflexo (^) no início da busca significa que queremos apenas o que se inicia nas palavras:
Reparem que a palavra "Nicolett Yuri" também foi incluída na pesquisa.
Se utilizar apenas a busca coringa pelo "y" também teremos o mesmo resultado para este exemplo, pois não temos nenhuma palavra que contenha o caractere y no meio das palavras.
No exemplo abaixo queremos buscar apenas palavras que contenha qualquer coisa, um espaço, o caractere y e depois qualquer coisa:
Para fazermos a busca de uma sequência de caracteres ou outra, devemos utilizar o separador, entre as palavras, pipe "|" com toda a sequencia de caracteres entre parênteses, vamos lá:
Quero buscar Yuri Nicolett e Paula Nicolett (lembre-se: palavras com espaço devem ser procuradas com a utilização das aspas):
Quero buscar Yuri e Paula Nicolett:
Repare que na busca pela palavra Yuri, tive que adicionar os parênteses, caso contrário teríamos outros resultados:
Para fazermos a busca de uma sequência de caracteres e outra, devemos utilizar o separador, entre as palavras, e comercial "&" com toda a sequencia de caracteres entre parênteses, vamos lá:
Ainda vamos complicar mais, mas só na semana que vem!
Ah, segue o link para download da aplicação de teste: aqui!
Valeu pela dica.
Obrigado.