Вы находитесь на странице: 1из 8

Manual Set Analysis Completo em Português BR

Set Analysis

O Set Analysis permite criar filtros pré definidos diferentes das ativadas pelo usuário e cria
agregações num cálculo. Eles sempre estará entre { } dentro de uma conta especifica.

Count({$<tipo={"fralda"}>} DISTINCT [código do Item])

O Set Analysis modifica o contexto somente da expressão que ele foi usado. Sendo assim, outras
expressões sem o Set continuam com o contexto padrão, seleção atual ou o estado de grupo
atual.

O Set Analysis é composto por:

 Identificador, defini o estado do filtro do usuário diante ao Set Analysis


 Modificador, Toda definição de filtros desejado

Este 2 campos são opcionais e eles que elaboram o Set Analysis.

Identificadores
Tipos

0 - Vazio

1 – Sem Filtro

$ - Filtros Correntes
$1 – Seleção Anterior ($2 duas seleções anteriores) ($3 três seleções anteriores)

$_1 – Próxima Seleção

Bookmark – Nome da ID do bookmark

Group – Nome do grupo (Estado alternado)

Operadores

+ : União de um conjunto

* : Intercessão de um conjunto

- : Exclusão de dois conjuntos

/ : Diferença simetrica (XOR) dos dois conjuntos

Exemplo de operação de identificadores

Sum({Group1 * Book1} Vendas): Soma todas as vendas que estão group1 e no Book1 (membros
que se encontram nos dois casos)

Sum({Group1 + Book1} Vendas): Soma todas as vendas (Todos os Membros dos 2 conjuntos)

Sum({Group1 - Book1} Vendas): Soma todo Book1 que não está no Group1 (membros que se
encontram somente no Book1)

Sum({Group1 / Book1} Vendas): Soma todas as vendas que não estão group1 mas no Book1 e os
que não estão Book1 mas no Group1 (membros que não se encontram nos dois casos)

Exemplos de Identificadores

ValorVenda CódigoVenda ValorVenda CódigoVenda


Ident. filtro feito pelo usuário Result.
Expressão 1 1 2 2

CodigoVenda =
Sum({$} ValorVenda) $ 3,00 1 2,00 2 3,00
1

CodigoVenda =
Sum({1} ValorVenda) 1 3,00 1 2,00 2 5,00
1
Sum({1-$} CodigoVenda =
ValorVenda) 1-$ 3,00 1 2,00 2 2,00
1
CodigoVenda =
Sum({$1} ValorVenda) $1 3,00 1 2,00 2 3,00
2
Modificadores
O modificador é tudo que se encontra dentro de <> e o que dá uma possibilidade infinita de
filtros que podem ser feitos no Qlikview.
Este é a grande sacada do Set Analysis. Os modificadores que me permitem aumentar a
capacidade de seleção em qualquer agregação. Sendo possível modificar a seleção em uma ou
varias dimensões ao mesmo tempo.

<Dimensão1 = {"Valor Filtrado"}, Dimensão2 = {"Valor Filtrado"} >

Exemplo:

Sum{$<Year={2007,+2008},Region={US}>} Receita)

Sum{$<[Sales Region]={’West coast’, ’South America’}> Receita)

Comparativos

Se você usar um operador com símbolo de igual:

<dimensão += {‘valor’}>: Fixa a seleção ao valor definido para esta dimensão

<dimensão -= {‘valor’}>: Fixa a seleção excluindo o valor definido para esta dimensão

<dimensão = >: Se uma dimensão for definida sem resultado significa que ela não sofre
alteração do usuário

Para seleção inicial você deve colocar os identificadores sendo que o $ é o padrão usado no
Qlikview. Entretanto sendo omitido somente o valor definido no {*} ou {“*”}

O Set Analysis não é como clicar numa listbox. Nas listbox é possível fazer uma nova seleção já
no Set Analysis você é obrigado a usar o filtro determinado no campo.

O Set Analysis é calculado antes de o gráfico ser computado e redesenhado.


RELEMBRAR! Campos com a marcação [] são normalmente usados pelo o motivo de terem espaço como [Código de Venda]. Não seria preciso se

fosse descrito como VND_cdVenda pois seria um campo sem espaço.

Composição completa
Calculo({Identificador <Dimensão1 = {"Valor Filtrado"}, Dimensão2 = {"Valor Filtrado"}>}
campo)

Ex.:

Sum({1 <Vendedor={"Luis"}, Produto-={"caneta"}>} vendas}

Soma das vendas menos das canetas do vendedor Luis sem sofrer alteração do filtro do usuário.

Sum({$<vendedor = {“Carlos”}, produto = {“caneta”}>} vendas)

Soma de todas as vendas do produto caneta do vendedor Carlos com seleções atuais

Sum({$<vendedor =, produto = {“caneta”}>} vendas)

Soma de todas as vendas do produto caneta de todos os vendedores com seleções atuais

Sum({$<mes =, ano = {2015}>} vendas)

Soma de todas as vendas de todos os meses no ano de 2015

Cuidado com a hierarquia da dimensão para que uma dimensão não reset a seleção da outra.
Não adicione o mês no Set Analysis caso você queria fazer uma listbox dela futuramente.

Qlikview aceita 3 tipos de sintaxe (Modo de representação de uma String "", '', []):

Sum({<vendedor ={“Maria”}>} Vendas)

Sum({<vendedor ={‘Maria’}>} Vendas)

Sum({<vendedor ={[Maria]}>} Vendas)

Composição múltiplos valores


Sintaxe:
{Selection <Dimension1 = {member 1, member 2, …} [, Dimension2 = {member 1, member 2, …}] >}

Exemplo:

Sum({$<vendedor ={“Maria”,”Carlos”}, produto = {“caneta”,”caderno”,”lapis”}>} vendas)

Soma de vendas dos vendedores Maria e Carlos dos produtos caneta, caderno e lápis.

Sum($<vendedor = {}, produto{“caneta”,”caderno”,”lapis”}> vendas)

Soma de vendas dos produtos caneta, caderno e lápis onde o campo vendedor está vazio.

Composição de busca
Sintaxe:

{<Dimensão = {"*Pedaço do valor procurado*"}>}

 * = Para muitos caracteres (“Mar*” retorna Maria, Mariana, Mara)


 ? = Para único caractere (“Mar?” retorna Mara)

Pode ser feita várias buscas:

Sintaxe :

{<Dimensão = {"*search1*", "fixed text", " ?earch2*"}>

Exemplo :

{<vendedor = {"*ro", "João", "?ari*"}>

Todos os vendedores que termina com ro, que seja João e que comece com uma letra depois
ari e termine com qualquer quantidade de letras

{<vendedor = {"*"} - {"Ma*"}>} , {< vendedor = - {"Ma*"}>}

Todos os vendedores menos os que começam com Ma

{< vendedor -= {"Ma*"}>}

Todos os vendedores selecionados exceto os que começam com Ma

{< vendedor += {"Ma*"}>}

Todos os vendedores selecionados mais os que começam com Ma

Composição usando dimensão de números


A maioria das horas e datas são numéricos. Por isso em muitos casos o Qlikview se torna mais
rápido fazer join de números.

{<ano = {"<2012”} >}: Todos os anos menores de 2012

{<ano = {">=2012 <=2014”}>}: Os anos entre 2012 a 2014


{<hora = {4, 5, 6} + {">=12 <20”}>} A hora 4, 5, 6 e o intervalo de 12 até 19 horas

Usando variáveis
Usando variável para definir dimensões do Set
Analysis

Exemplo:

Set vDimensao = ‘produto’

sum( {$ <$(vDimensao)={"*"} >} Vendas)

Soma das vendas por todos os produtos

Usando variável para definir todo o Set Analysis


Exemplo:

Set vAnalise = ‘vendedor = {"*"} - {"Ma*"}>, < vendedor = - {"Ma*"}’;

sum( {$ <$(vAnalise) Vendas)

ATENÇÃO: De vez enquanto esta expressão diz que esta com erro mas ignore o erro pois funciona mesmo com erro de expressão.

Variáveis com um ou muitos dados


Sintaxe:

<Dimensão = {$(NomeVariavel)} > ou <Dimension = {$(=NomeVariavel)}

Teste com ou sem o = pois não funcionará da mesma maneira. Experiência própria.

Exemplo:

vVendedor='Matheus';

vProdutoEscolhido='Caneta';

Sum(<vendedor = {$(vVendedorEscolhido)}, Produto={$(=vProdutoEscolhido)}> Vendas)

Composição com função numérica


Sintaxe:

<Dimensão = {" $(=f(argumentos))"}

Exemplo:

<Ano = {"$(=max({1} Year))"}> - Último ano dos dados

Você deve usar o {1} dentro da agregação max para não perder o último ano quando for feita
qualquer seleção.

Sum({<produto = {"=rank(sum(vendas), 4)<= 20"}>} vendas)

Top 20 dos produtos mais vendidos

Sum({<produto = {"=rank(sum({<marca = {“A”}>} vendas), 4)<= 20"}>} vendas)

Top 20 dos produtos mais vendidos da marca A

Indirect Set Analysis


Expressões de seleção e modificadores são relativamente simples. No entanto, neste caso precisamos
criar uma expressão que retorne o resultado de outra expressão. Mais ou menos assim:

 Primeiro temos que selecionar todos os clientes que compraram sapato no ano desejado,
no caso 2010 (desconsiderando as seleções atuais)
 Depois, pegamos o resultado da expressão (lista de clientes) e atribuímos à seleção atual
para então somar as vendas

Para conseguirmos a lista de clientes, utilizaremos a função P() que retorna o resultado da expressão em
um “array”. Haverá casos em que você terá de utilizar a função E() que retorna o INVERSO do resultado
da expressam em um “array”.

Sum({$<Cliente=P({1<Produto={'Sapato'},Ano={2010}>} Cliente)>} Vendas)

Da mesma forma, podemos fazer o inverso e somar as vendas de todos os clientes que NÃO
compraram sapato em 2010

Sum({$<Cliente=E({1<Produto={'Sapato'},Ano={2010}>} Cliente)>} Vendas)

Вам также может понравиться