Qlik Community

Qlik Brasil

Welcome to the group for Brazil users. .All discussions will be in Portuguese.

Highlighted
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)

25 Replies
mvaugusto
Contributor

Re: Manual Set Analysis Completo em Português BR

Não lí tudo, mas só pelo começo já ví que é util. Obrigado

lucasjsantos
New Contributor II

Re: Manual Set Analysis Completo em Português BR

Muito bom manual.

Parabéns e obrigado!!!

Partner
Partner

Re: Manual Set Analysis Completo em Português BR

Ótimo conteúdo!

Parabéns

Not applicable

Re: Manual Set Analysis Completo em Português BR

muito bom,

obrigado.

marcio150972
Contributor

Re: Manual Set Analysis Completo em Português BR

Sensacional o material.

eduardo_anjos
New Contributor III

Re: Manual Set Analysis Completo em Português BR

Material muito bom !

Obrigado por disponibiliza-lo

welinton123
New Contributor III

Re: Manual Set Analysis Completo em Português BR

Muito bom material, obrigado por compartilhar!

kkmoraes
New Contributor III

Re: Manual Set Analysis Completo em Português BR

Material salvo para futuras consultas, obrigado por compartilhar!

Not applicable

Re: Manual Set Analysis Completo em Português BR

Obrigado, depois veja outros materiais ensino como fazer um mapa de viagens com todos os aeroportos cadastrados, como carregar vários arquivos ao mesmo tempo, segredos para não travar seu painel caso não carregue o arquivo de senhas e sistema de bandeiras por código, sigla e sigla olímpica.