Regulando Rótulos em Gráficos de Pizza

De Qknow
Ir para: navegação, pesquisa

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

EnglishFlag.jpg

Introdução

Rótulos são textos utilizados em gráficos para exibir informações sobre os valores de expressões e dimensões. No entanto, neste artigo o termo rótulo será usado para incluir textos no eixo da expressão do gráfico de pizza através da opção Valores sobre os Dados. Quando assinalado, esta opção literalmente rotula cada fatia com o valor correspondente ao cálculo utilizado e, por vezes, apresenta um visual pouco atraente por sobrescrever os valores (ou mesmo textos) na ponta de cada fatia. Nas seções a seguir são apresentados os truques e dicas para ajustar os valores de expressões ao lado das fatias de modo a não sobrescrever os valores uns sobre os outros.

Personalizando os Valores das Expressões

Por padrão, ao selecionar a configuração Valores sobre os Dados a partir da guia Expressões, o QlikView responde adicionando o valor calculado pela expressão ao lado de cada fatia, tal como no exemplo a seguir. Caso queira repetir este exemplo, utilize o seguinte fragmento de script.

LOAD * INLINE [
Country, Sales
USA, 100000
Canada, 50000
Mexico, 25000
UK, 70000
Germany, 20000
Brazil, 15000
France, 10000
Japan, 9000
China, 8000
Australia, 7000 ];
caption

O resultado é a rotulagem de cada fatia com o valor da expressão, neste caso =sum(sales). No entanto, como algumas fatias são menores que outras os valores por vezes são sobrepostos. Para contornar este problema é possível utilizar a função Dual com um cálculo de afastamento dos valores em relação as bordas das fatias. Esta solução de contorno é viável pois a função Dual permite apresentar um valor para a rotulagem e outro para o cálculo. Logo, a expressão pode ser ajustada para:

=Dual(Sum(Sales) & Repeat(chr(13)&chr(10), rank(Sum(Sales))-6), Sum(Sales))

Note que a função Dual utiliza no primeiro parâmetro o fragmento Sum(Sales) & Repeat(chr(13)&chr(10), rank(Sum(Sales))-6), que tem como objetivo repetir o caractere 13 da tabela ASC juntamente com o caractere 10 da mesma tabela através da função Repeat. O Chr(13) é, na realidade, a tecla <Enter>. Ou seja, força uma quebra de parágrafo. Já o Chr(10) na tabela ASC é utilizado para controle de quebra de linha, movendo o cursor para a linha seguinte. A repetição incondicional destes dois elementos juntos afasta o rótulo da beira das fatias. No entanto, ao deixar a repetição iniciar na primeira fatia poderia ocasionar um afastamento exagerado dos valores, por isso, a função Rank é utilizada para contar quantos números foram calculados para a expressão sum(Sales) e, retirando 6, informa que o procedimento de quebra de linha só deve ocorrer a partir da 6ª fatia. O resultado pode ser conferido abaixo.

Default Pizza Labels 2.png

A segunda parte da expressão Dual permite executar o cálculo desejado. Ou seja, Sum(Sales). É possível afirmar então que o texto apresentado ao lado das fatias é oriundo do primeiro parâmetro do Dual enquanto o tamanho de cada fatia é resultado da expressão inserida no segundo parâmetro. O resultado visual, mesmo quando a classificação força os valores menores para as últimas posições, é conferido acima.

Adicionando Textos aos Valores de Expressões

Default Pizza Labels 3.png

Utilizando a mesma técnica do tópico anterior, é possível acrescentar outras informações junto ao valor apresentado na borda das fatias. Esse ajuste é especialmente útil para painéis com pouco espaço para inserção de legendas que podem ocupar um certo espaço. Utilizando a função Dual tal como utilizada anteriormente, é possível incluir o nome de cada país juntamente aos valores, dispensando o uso de legendas. O efeito pode ser conferido ao lado.

=Dual(Country & ' - ' & Sum(Sales) & Repeat(chr(13)&chr(10), rank(Sum(Sales))-6), Sum(Sales))

A diferença em relação a versão anterior é a inclusão do texto correspondente ao país através do fragmento Country & ' - ' &. Note que a classificação do gráfico foi ordenada para apresentar a maior fatia primeiro, consolidando as menores no final da rotação do gráfico de Pizza. O resultado, valores e países sem necessidade de uso de legendas.

Funções Utilizadas

  • DUAL
  • SUM
  • REPEAT
  • CHR
  • RANK


Visões Complementares para Legenda e Dados

Default Pizza Labels 4.png

Um dos desafios constantes na elaboração de um dashboard está na apresentação da maior riqueza possível de informações em um espaço bastante confinado e limitado. Gráficos de Pizza, por padrão, exibem valores iguais ao lado das legendas (quando habilitada) em relação as bordas das fatias. Porém, no exemplo ao lado, é possível constatar que a legenda apresenta o somatório dos valores de venda para cada país, enquanto as bordas das fatias distribuem os valores de participação percentualmente. Assim, em pouco espaço é possível apresentar duas informações importantes, ao mesmo tempo, sem necessidade de grupos circulares de expressões.

Funções Utilizadas

  • DUAL
  • SUM
  • NUM
  • REPEAT
  • CHR
  • RANK

Nesta representação foram utilizada as seguintes configurações:

  • Na guia Classificar, Valor-Y na Descendente.
  • Na guia Apresentação>, Mostrar Legenda habilitado.
  • Na mesma guia, Mostrar Números na Legenda habilitado.
  • Na guia Expressões uma primeira expressão contendo =Sum(Sales).
  • Na mesma guia, uma segunda expressão contendo =Dual(num(Sum(Sales) / Sum(TOTAL Sales), '0,00' & '%') & Repeat(chr(13)&chr(10), rank(Sum(Sales))-6), Sum(Sales))
  Nota: Na primeira expressão não selecione a opção Valores sobre os Dados, o que deve ser feito para a segunda expressão.



Idea 1.jpg

Além de adicionar textos as expressões, tooltips podem ser adicionadas com dados complementares.

Veja como adicionar informações complementares quando o usuário para o mouse sobre uma informação do gráfico. Clique aqui e veja como!


Envelope01.jpg
Procurando Algo? Fale Conosco!

Voltar | Índice de Artigos | Página Principal