[Desenvolvimento] Utilizando Estado Alternativo – Qlikblog
Desenvolvimento Dicas Qlikview 11 Qlikview Desktop
24/07/2012 23/08/2012 Guilherme Oliveira	Alternativo, desenvolvimento, Estado, Gráfico, Listas, Objetos, Qlikview
Uma das novidades do Qlikview 11 é a função "Estado Alternativo" e ela foi apresentada aqui no Qlikblog.
Neste artigo nós vamos aprender a utilizar essa nova função.
Primeiro vamos abrir o Qlikview e Criar um Novo documento.
Agora vamos criar um Script para gerar alguns dados para nosso exemplo (não vou explicar cada função deste script). Esse Script vai gerar dados aleatórios cada vez que ele for executado, então não prenda-se aos valores apresentados:
//Nome da tabela.
//Essa função faz um RANDON das cidades que foram definidas
Pick(Ceil(3*Rand()),'São Paulo','Rio de Janeiro','Belo Horizonte') as Cidade,
//Essa função faz um RANDON dos Vendedores que foram definidos
Pick(Ceil(3*Rand()),'Vendedor 1′,'Vendedor 2′,'Vendedor 3′) as Vendedor,
//Essa função faz um RANDON de Valor.
Round(Rand()*1000,0.01) AS Valor
//Essa função faz um loop do comando LOAD de acordo com o número entre (), no caso 10 Loops ou 10 registros.
Com o documento e Script criados salve o documento e faça o reload.
Dados atualizados vamos começar a criar nossos objetos e definir seus Estados Alternativos.
A principio vamos criar duas Listas (Listbox). Uma de Vendedor e uma de Cidade
As duas Listas (Listbox) foram criadas.
Agora vamos criar um gráfico de barras para analisar as informações de vendas.
Como dimensão coloque Cidade e como expressão coloque SUM(Valor) .
Agora que estamos com as listas e gráfico prontos, vamos começar a trabalhar com Estados Alternativos.
Para organizar melhor vamos criar dois objetos de texto com cores distintas para identificar cada um dos Estados Alternativos.
Para que você possa entender melhor o funcionamento dele nós vamos criar mais duas Listas (Listbox) para fazer as seleções dos diferentes grupos que iremos criar. As duas Listas (Listbox) serão de Vendedores.
Para o Estado Alternativo 1 criei um objeto de texto com a cor calculada RGB(141,170,203).
Para o Estado Alternativo 2 criei um objeto de texto com a cor calculada RGB(252,115,98).
Para ativar o estado alternativo nos objetos você precisa criar um Estado Alternativo primeiro.
Vá em Configuração -> Propriedades do Documento.
Na aba Geral clique no botão "Estados Alternativos…" e na janela que abrir clique em incluir e defina o nome dos seus estados alternativos.
Crie uma nova Lista (listbox) de Vendedor e posicione à frente do Estado Alternativo 1.
Entre nas propriedades da Lista (listbox), na aba Geral (General) e vá em Estado Alternativo (Alternate State) , clique em Novo Estado e defina um nome, no nosso caso Alternativo_1.
Siga esses mesmo passos para criar a Lista (Listbox) para o Estado Alternativo 2 nomeando para Alternativo_2 ou algum outro nome de sua escolha
Agora existem dois objetos de Lista (Listbox) com o mesmo campo porem com seleções distintas.
Agora vamos fazer com que o Gráfico de Barras apresente informações conforme as seleções em cada Estado Alternativo.
Vá nas Propriedades do Gráfico, na aba Espressões (Expressions) e faça uma alteração na expressão existente.
de: SUM(Valor)
para: SUM({[Alternativo_1]} Valor)
Crie uma nova expressão e faça o mesmo mudando para: SUM({[Alternativo_2]} Valor)
Clique em OK e veja como o Gráfico de Barras vai mudar conforme as seleções.
Quando você utiliza o Estado Alternativo os campos/objetos que não estão com essa configuração não fazem efeito nos Objetos que estão com Estado Alternativo ativado. Veja abaixo.
Lembra que criamos duas Listas, uma com Vendedor e outra com Cidade ?
Clique em uma cidade e veja o que acontece com o Gráfico de Barras.
E agora ? Vou ter que criar duas Listas de Cidade e configurar o Estado Alternativo para cada uma ?
Mas você vai ter um pouco de trabalho para fazer com que este objeto sem Estado Alternativo tenha algum efeito nos objetos que tem Estado Alternativo.
O que você deve fazer é inserir no Gráfico de Barras um comando que "diz" para ele que o campo "X" tem influencia sobre ele.
Você deve inserir em cada uma das suas expressões o seguinte comando: <Cidade=$::Cidade>. Desta forma sua expressão deverá ficar igual a esta:
Alternativo 1: Sum({[Alternativo_1]<Cidade=$::Cidade>}Valor)
Alternativo 2: Sum({[Alternativo_2]<Cidade=$::Cidade>}Valor)
Assim quando a cidade for selecionada apenas as informações daquela cidade serão exibidas.
Um inconveniente é que para cada campo que você quiser que tenha efeito sobre o Estado Alternativo você deverá incluir desta mesma maneira. Então imagine se você quiser colocar 10, 20 ou 30 campos vai ter que escrever um por um e a sua expressão ficará enorme.
Exemplo: Sum({[Alternativo_1]<Cidade=$::Cidade, Pais=$::Pais, Loja=$::Loja,Estado=$::Estado>}Valor)
E é assim que se cria Estados Alternativos no Qlikview 11.
Você pode por exemplo fazer comparações de Anos, Empresas, Marcas, Produtos enfim, pode ser utilizado de diversas maneiras.