Skip to main content
Announcements
Qlik Introduces a New Era of Visualization! READ ALL ABOUT IT
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

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

ExpressãoIdent.
ValorVenda 1
CódigoVenda 1
ValorVenda 2
CódigoVenda 2
filtro feito pelo usuário
Result.
Sum({$} ValorVenda)

$

3,00

12,002

CodigoVenda = 1

3,00
Sum({1} ValorVenda)13,0012,002CodigoVenda = 15,00

Sum({1-$} ValorVenda)

1-$3,0012,002CodigoVenda = 12,00
Sum({$1} ValorVenda)$13,0012,002CodigoVenda = 23,00


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)

Labels (4)
33 Replies
DiegoSMachado
Contributor
Contributor

I created this material in 2010 in a old forum. A long long time ago 🤣!

joao_dutra
Contributor
Contributor

Obrigado pelo material, fantástico. 👏

RafaelMarioza
Contributor II
Contributor II

Não consegui achar o material para download. É possível baixá-lo? 

RobertoLima
Contributor
Contributor

Muito obrigado pelo material. Estou començando agora com o Qlik (venho do PBI) e a sensação é de voltar a aprender tudo que eu achava que já sabia.. rs Mas é uma sensação boa.