Documente Academic
Documente Profesional
Documente Cultură
Análise de Conjunto
Análise de Conjunto - Set Analysis
Uma expressão de conjunto sempre começa e termina com chaves quando usada, por
exemplo, {BM01}.
Identificadores de conjunto
Existe uma constante que pode ser usada para denotar um conjunto de registros; 1. Ela
representa um conjunto completo de todos os registros no aplicativo.
Por fim, os marcadores podem ser usados como identificadores de conjunto. Observe
que somente o servidor e os marcadores de documento podem ser usados como
identificadores de conjunto. O ID do marcador ou o nome do marcador pode ser usado,
por exemplo, BM01 ou MeuMarcador. Somente a parte de seleção de um marcador é
usada. Os valores não estão incluídos. Não é possível, então, usar campos de entrada
nos marcadores para análises de conjuntos.
Exemplos:
sum( {$} Vendas )
retorna as vendas para a seleção atual, ou seja, o mesmo que sum(Vendas).
mas não a dimensão. Se usado em um gráfico com, por exemplo, Produtos como
dimensão, cada produto obterá um valor diferente.
sum({Server\BM01} Vendas)
retorna as vendas para o marcador do servidor BM01.
sum({Document\MyBookmark}Vendas)
retorna as vendas do marcador de documento MeuMarcador.
Operadores de conjunto
Existem vários operadores de conjunto que podem ser usados nas expressões de
conjunto. Todos os operadores de conjunto usam conjuntos como operandos, conforme
descrito acima, e retornam um conjunto como resultado.
+ União. Essa operação binária retorna um conjunto formado pelos registros que
pertencem a qualquer um dos dois operandos do conjunto.
— Exclusão. Essa operação binária retorna um conjunto formado pelos registros que
pertencem apenas ao primeiro operando do conjunto. Além disso, quando usada como
um operador unário, ela retorna o conjunto complementar.
* Interseção. Essa operação binária retorna um conjunto formado pelos registros que
pertencem aos dois operandos do conjunto.
/ Diferença simétrica (XOR). Essa operação binária retorna um conjunto formado pelos
registros que pertencem a um dos dois operandos do conjunto.
Exemplos:
sum( {1-$} Vendas )
retorna todas as vendas excluídas pela seleção atual.
Análise de Conjunto - Set Analysis
Nota
O uso dos operadores de conjunto em combinação com as expressões de agregação
básicas que envolvem campos de várias tabelas do QlikView pode resultar em
resultados imprevisíveis, devendo assim, ser evitado. Por exemplo, se Quantidade e
Preço forem campos de tabelas diferentes, a expressão
sum({$*BM01}Quantidade*Preço) deverá ser evitada.
Modificadores de conjunto
Um conjunto pode ser modificado por uma seleção adicional ou alterado. Uma
modificação como essa pode ser escrita na expressão do conjunto. O modificador é
composto por um dos diversos nomes de campo, cada um seguido de uma seleção que
deve ser feita no campo e estar entre < e >. Exemplo:
<Ano={2007,+2008},Região={US}>. Os nomes e os valores de campo podem estar
entre aspas: <[Região das Vendas]={’Costa oeste’, ’América do Sul’}>.
Existem várias formas de definir a seleção: Um caso simples é uma seleção baseada nos
valore selecionados de outro campo, por exemplo, <DataPedido = DataEntrega>. Esse
modificador usará os valores selecionados de DataEntrega e os aplicará como uma
seleção em DataPedido. Se houver muitos valores diferentes – mais de duzentos – essa
operação ocupará muito a CPU e deve ser evitada.
Contudo, o caso mais comum é uma seleção baseada em uma lista de valores de campo
entre chaves, os valores separados por vírgula, por exemplo, <Ano = {2007, 2008}>. As
chaves aqui definem um conjunto de elementos, em que os elementos podem ser valores
de campo ou pesquisas de valores de campo. Uma pesquisa é sempre definida pela
utilização de aspas duplas, por exemplo, <Ingrediente = {"*Alho*"}> selecionará todos
os ingredientes com a palavra‘alho’. As pesquisas são sensíveis a maiúsculas e também
são feitas para valores excluídos.
Por fim, para os campos no modo AND, também há a possibilidade de uma exclusão
forçada. Se quiser forçar a exclusão de valores de campo específicos, você precisará
usar “~” antes do nome do campo.
Exemplos:
sum( {1<Região= {US} >} Vendas )
retorna as vendas da região dos EUA, sem importar a seleção atual.
Nota!
A sintaxe nos dois exemplos anteriores é interpretada como “nenhuma seleção”
em “Região”, ou seja, todas as regiões com outras seleções serão possíveis. Ela
não é equivalente à sintaxe <Região = {}> (nem a qualquer outro texto à direita
do sinal de igual implicitamente resultando em um conjunto de elementos vazio)
que é interpretada como nenhuma região.
sum( {$<Ano = {2000}, Região = {US, SE, DE, UK, FR}>} Vendas )
retorna as vendas da seleção atual, mas com as novas seleções em “Ano” e em
“Região”.
Exemplos:
sum( {$<Produto = Produto + {NossoProduto1} – {NossoProduto2} >} Vendas )
retorna as vendas da seleção atual, mas com o produto “NossoProduto1”
adicionado à lista de produtos selecionados e “NossoProduto2” removido da lista
de produtos selecionados.
A notação acima define novas seleções, sem importar a seleção atual no campo.
Contudo, se desejar basear a sua seleção atual no campo e adicionar valores de campo,
você pode, por exemplo, definir um modificador <Ano = Ano + {2007, 2008}>. Uma
forma mais curta e equivalente de escrever isso é <Ano += {2007, 2008}>, ou seja, o
operador de atribuição define implicitamente uma união. Além disso, interseções,
exclusões e diferenças simétricas implícitas podem ser definidas com “*=”, “–=” e “/=”.
Exemplos:
sum( {$<Produto += {NossoProduto1, NossoProduto2} >} Vendas )
retorna as vendas da seleção atual, mas usando uma união implícita para adicionar
os produtos "NossoProduto1” e “NossoProduto2” à lista de
produtos selecionados.
Análise de Conjunto - Set Analysis
As variáveis e outras expansões do sinal de dólar podem ser usadas nas expressões de
conjunto.
Exemplos:
sum( {$<Ano = {$(#vLastYear)}>} Vendas )
retorna as vendas do ano anterior em relação à seleção atual. Aqui, uma variável
vLastYear contendo o ano relevante é usada em uma expansão de sinal de dólar.
As pesquisas avançadas que usam curingas e agregações podem ser usadas para
definição de conjuntos.
Exemplos:
sum( {$–1<Produto = {“*Interno*”, “*Doméstico*”}>} Vendas )
retorna as vendas da seleção atual, excluindo as transações que pertencem a
produtos com a palavra ‘Interno’ ou ‘Doméstico’ no nome do produto.
Nesses casos, devem ser usadas as funções de elemento P() e E(), representando o
conjunto de elementos de valores possíveis e os valores excluídos de um campo,
respectivamente. Dentro dos parênteses, é possível especificar uma expressão de
conjunto e um campo, por exemplo, P({1} Cliente). Essas funções não podem ser
usadas em outras expressões:
Exemplos:
sum( {$<Cliente = P({1<Produto={‘Sapato’}>} Cliente)>} Vendas )
retorna as vendas da seleção atual, mas somente os clientes que já compraram o
produto ‘Sapato’. Aqui, a função de elemento P( ) retorna uma lista de clientes
possíveis; aqueles decorrentes da seleção ‘Sapato’ no campo Produto.
Por isso, a sintaxe completa (sem incluir a utilização opcional dos parênteses padrão
para definir a precedência) é
definir_operador ::= + | - | * | /