Utilizando Escalas de Cores

De Qknow
Ir para: navegação, pesquisa

This document is available in English. Click on flag at side.

EnglishFlag.jpg

Introdução

EscalaCores1.PNG

Cores podem representar mais do que valores de dimensões e devem ser utilizadas para transmitir uma mensagem ao usuário que complemente a compreensão sobre as informações apresentadas. No exemplo ao lado, um gráfico totalizando as vendas por ano demonstra ao tomador de decisões quanto foi faturado (vendido) em cada ano. Porém, somente o faturamento pode levá-lo a crer que os melhores anos foram aqueles com maior total de venda, quando na realidade, o fator rentabilidade é tão ou mais importante do que apenas o que foi vendido. Ter uma visão do resultado (lucro ou prejuízo) é tão importante quanto saber o total faturado, de modo que o gráfico ao lado utiliza uma escala de cores para representar esta escala entre vermelho (prejuízo) e verde (lucro).

Por padrão, o QlikView distribui as cores para valores de dimensão de acordo com a paleta presente na guia Cores dos gráficos criados. Porém, quando se tem uma sequencia de valores como um período (Ano, por exemplo), não se faz necessário representar os valores de dimensões por cores diferentes, já que todas as barras representam a mesma informação, Ano. No entanto, uma sobreposição de informações pode trazer um complemento importante e visual para os usuários, tal como em uma escala colorida e calculada automaticamente com base em resultados das vendas (faturamento - custo = resultado).

Este artigo aborda os procedimentos necessários a criação de um gráfico de barras por ano que apresente em tonalidades diferentes os resultados de venda ao longo de períodos, destacando aqueles que foram melhores e piores de acordo com uma escala de cor entre vermelho e verde. Para construir este exemplo é possível utilizar a massa de dados abaixo proposta. Este tópico aborda temas como definição de variáveis em nível de script e pela interface gráfica do QlikView Desktop. Caso precise de informações sobre como utilizar variáveis, consulte o artigo sobre uso de variáveis em expressões complexas e repetidas. Adicionalmente, caso haja necessidade de compreender o uso de variáveis para definição de paleta de cores, consulte o artigo sobre uso de variáveis como cores, aqui.

SalesReport:
LOAD * INLINE [
SalesYear, SalesTotal,       Cost
2000,         1937770,    1760181
2001,          712212,     717546
2002,          303098,     301762
2003,         1842440,    1668624
2004,         1652343,    1682694
2005,          455939,     417934
2006,           42664,      42524
2007,         1798303,    1606255
2008,         1544449,    1536734
2009,          769795,     741262
2010,          469678,     446608
];

Calculo do Resultado Operacional

Antes de realizar a configuração do gráfico para apresentar escalas de cores de acordo com os resultados, é preciso calcular qual foi o resultado operacional em percentual das operações de venda a partir da massa de dados proposta. Este resultado será utilizado para calcular a escala de cores de acordo com o esperado. Para isso, inclua no script de carga a instrução LOAD a seguir que faz a leitura da carga acima e cria uma nova coluna chamada ProfitOrLoss (Lucro ou Prejuízo).

LOAD SalesYear, (SalesTotal - Cost) / Cost As ProfitOrLoss Resident SalesReport;
EscalaCores2.PNG

O cálculo do resultado operacional se dá pela operação de (FATURAMENTO - CUSTO) / CUSTO. Porém, podem ser utilizados outros cálculos desde que o resultado seja um percentual que possa ser atribuído posteriormente a técnica apresentada. Após executar o script assegure-se de que a coluna foi realmente criada acessando o visualizador de tabelas pelo atalho CTRL + T.

Espera-se visualizar que alguns produtos tiveram margem percentual positiva, enquanto outros deram prejuízo ao comerciante. Assim, será possível demonstrar quanto foi vendido e, se estas vendas, foram ou não lucrativas. Uma vez que o cálculo tenha sido realizado com sucesso, crie um novo gráfico de barras utilizando como dimensão o campo SalesYear (Ano da Venda). Como expressão, utilize o somatório dos valores vendidos incluindo a seguinte fórmula:

=SUM(SalesTotal)
EscalaCores3.PNG

Adicione uma segunda expressão que será útil para demonstrar o funcionamento da escala de cores. Nesta função apresente a média do resultado (lucro ou prejuízo) apresentado pelo campo ProfitOrLoss. Esta expressão não deve apresentar nenhuma barra, por isso deve ser configurada da seguinte forma:

  • Desmarcar a opção Barra na guia Expressões.
  • Marcar a opção Texto no Eixo na mesma guia.
  • Alterar o rótulo para Profit or Loss (lucro ou prejuízo) no item Rótulo.
  • Marcar a opção Texto como Pop-up na mesma guia Expressões.

Configuração da Escala de Cores

Para utilizar a técnica de escala automática de cores com base nos resultados percentuais alcançados, configure as cores que serão utilizadas na paleta. No pior cenário de resultado a barra será configurada para vermelho. Em valores medianos ao resultado esperado, cinza. Por fim, para valores esperados será configurado como verde. Estas três cores trabalharão em escala podendo variar de tonalidade de acordo com o valor percentual obtido. As variáveis podem ser criadas em nível de script por meio das seguintes instruções:

LET vRed = '=ARGB(255, 235, 102, 86)';
LET vGray = '=ARGB(255, 202, 201, 200)';
LET vGreen = '=ARGB(255, 11, 100, 43)';

Execute o script para que as variáveis sejam criadas e os dados recarregados. De volta a interface do Desktop, acesse a janela de variáveis pelo atalho CTRL + ALT + V ou acessando Visão Geral das Variáveis a partir do menu Configuração. Note que as três variáveis estão presentes na janela. Aproveite para criar as variáveis que serão utilizadas na fórmula de cálculo das cores das barras. As variáveis são:

vMinBolha
vCorteBolha
EscalaCores4.PNG

Para vMinBolha atribua o valor 0.0025 utilizando o ponto como separador decimal, independente das configurações de decimal que estiver definida em nível de script. Para a variável vCorteBolha atribua o valor 0.2. Estes valores representam, respectivamente, a menor rentabilidade esperada para as vendas (0,25%) e o máximo de rentabilidade possível/esperada, ou 20%. Caso precise de maiores informações sobre a definição de variáveis utilizando a janela de visão geral das variáveis, consulte o artigo sobre criação de variáveis pela interface gráfica. Ao concluir esta operação a janela de variáveis deve estar configurada segundo a figura ao lado.

De volta ao gráfico de barras, acesse a guia Expressões para configurar as cores de acordo com a expressão a seguir. Com um clique no sinal de (+) ao lado da primeira expressão, acesse as configurações de Cor de Fundo incluindo na Definição a seguinte fórmula:

ColorMix2
  (
   if(rangemin($(vCorteBolha), rangemax(Avg(ProfitOrLoss),0))<$(vMinBolha),
      -Sqrt(-(rangemin($(vCorteBolha),rangemax(Avg(ProfitOrLoss),0))-$(vMinBolha))/($(vMinBolha)-0)),
       Sqrt((rangemin($(vCorteBolha),rangemax(Avg(ProfitOrLoss),0))-$(vMinBolha))/($(vCorteBolha)-$(vMinBolha)))
      ), 
   $(vRed), 
   $(vGreen), 
   $(vGray)
  )
EscalaCores5.PNG

Ao concluir esta configuração a função ColorMix2 aplicará uma escala de cores utilizando o campo ProfitOrLoss como base de cálculo. A função irá misturar as cores definidas nas variáveis $(vRed), $(vGreen) e $(vGray). O resultado será a aplicação das cores de acordo com o valor percentual do resultado das vendas (lucro ou prejuízo em percentual). A janela de expressões para a propriedade de Cor do Fundo será semelhante a apresentada a seguir.

EscalaCores6.PNG

Ajustes Visuais Complementares

Para obter o resultado apresentado no início deste artigo, configure os demais aspectos do gráfico com as seguintes propriedades.

  • Na guia Geral inclua o texto Total Sales by Year para o Titulo da Janela.
  • Ainda na guia Geral, inclua o título do gráfico como Colors represent profit or loss. na opção Mostrar Título do Gráfico.
  • Utilizando o botão Configuração do Título ao lado do texto inserido acima, ajuste o alinhamento para a esquerda, fonte para Regular tamanho 11.
  • Acesse a guia Dimensões e inclua o RótuloYear</code> para a única dimensão presente.
  • Na guia Expressões, certifique-se de ter nomeado a primeira expressão como Total Sales na opção Rótulo.
  • Ainda na guia Expressões mantenha marcada a opção Barra e Valores Sobre os Dados para a expressão Total Sales.
  • Certifique-se de que a segunda expressão está nomeada como Profit or Loss na opção Rótulo.
  • Também para a expressão Profit or Loss marque somente as opções Texto no Eixo e Texto como Pop-up.
  • Na guia Apresentação configure a Distância de Separação para 2 e desmarque o seletor Mostrar Legenda.
  • Na guia Eixos marque a opção Ocultar Eixo.
  • Na guia Número configure a expressão Total Sales para Inteiro e Profit or Loss como Fixo com 1 Decimal em Percentual.
  • Acesse a guia Layout e ajuste a Largura da Borda para 0pt.
  • Por último, na guia Título altere a Fonte do texto Total Sales by Year para Regular tamanho 14.
  • Na mesma guia, configure a Cor de Fundo para o Titulo Inativo e Titulo Ativo como branco.


EscalaCores7.PNG

Para criar a legenda, inclua 4 objetos texto e em dois deles escreva Profit e Loss, respectivamente. Assegure-se de configurar a cor de fundo como transparente para estes dois textos. Para as duas caixas restantes, regule-as para que possam ser posicionadas lado-a-lado, tal como na figura ao lado. Ajuste a Cor de Fundo de acordo com a janela abaixo e repita o processo para a segunda caixa de texto que utilizará as cores cinza e verde. Posicione as 4 caixas de texto lado-a-lado e em seguida abaixo do gráfico. Assim será possível indicar ao usuário o significado da escala de cores.


EscalaCores8.PNG




Funções Utilizadas

  • SUM
  • COLORMIX2
  • RANGEMIN
  • RANGEMAX
  • AVG
  • ARGB
  • MAX
  • IF
  • NUM
  • SQRT


Idea 1.jpg

Aprenda a usar variáveis em expressões complexas e repetidas como ocorre neste artigo.

Variáveis podem conter parâmetros para ajustar o comportamento da expressão. Clique aqui e veja como!


Envelope01.jpg
Procurando Algo? Fale Conosco!

Voltar | Índice de Artigos | Página Principal