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)