QlikSense – Inclusão de Percentual no Gráfico de Barras

julho 20, 2018 em QlikSense por Sândler

QlikSense – Inclusão de Percentual no Gráfico de Barras

 

Hoje procurei de todas as formas para colocar este item e não encontrei em nenhum lugar para colocar este percentual,  e baseado em algumas explicações, adicionando as regras para o funcionamento.

Hoje pelo próprio Sense, não consigo colocar “porcentagem” gráfico, somente habilitar “Rótulos de valor” ou não, então como a necessidade era informar número e o percentual, inclui o percentual na Dimensão da seguinte forma:

Exemplo:

=
if(<MEDIDA>= ”, ”,
      <DIMENSAO> & ‘ (‘ &
        aggr (
          num (count(distinct <ID_PRINCIPAL>)/count(TOTAL <DIMENSAO>)*100, ’0′), <DIMENSAO>
        )
     & ‘%) ‘
)

 

Agora vamos para a explicação:

 

<DIMENSAO> é somente ela que colocamos no campo de expressão da dimensão, mas neste caso eu queria que ao invés de “SIM” ficasse “SIM (25%)”

 

1ªPARTE – Cálculo Percentual

Para o funcionamento de um count ou sum na dimensão é necesário colocar o AGGR e o NUM, caso não coloque não funciona.
Exemplo:  aggr (num (count(distinct <ID_PRINCIPAL>)/count(TOTAL <DIMENSAO>)*100, ’0′), <DIMENSAO>)

 

Então coloquei o AGGR depois o NUM e ai começa o cálculo:
- count(distinct <ID_PRINCIPAL>) => pega um código comum para todos e dei um distict no caso do meu porque ele poderia se repetir.
- count(TOTAL <DIMENSAO>) => o TOTAL juntamente com a dimensão faz a soma de todas as barras.
- Depois de dividido pelo total eu multipliquei por 100.
- e como propriedade do NUM foi adicionado o modelo de exibição ’0′ ZERO que foi para exibir somente inteiro ao invés de float.
Exemplo: 0 => 25    0.00  => 25,40     #,##00.0 => 25,40232
- e como propriedade do AGGR eu fiz a atribuição  do no final com virgula a <DIMENSAO>

Agora já temos o cálculo como exemplo   ((40/80)*100) => 50%

 

2ªPARTE - Concatenação

Então concatenei  <DIMENSAO> & ‘ (‘ &  <PARTE 1 – CÁLCULO PERCENTUAL> & ‘% )’;

3ª PARTE – separar resultado NULO

Agora para separar o valor NULO acabei tendo que fazer uma forma que “SE” o valor for igual VAZIO  ele não exibe, e se tiver valor mostra o cálculo.
Exemploif(<MEDIDA>= ”, ”, <PARTE 2 – CONCATENAÇÃO> )

Precisei fazer esta manobra porque o meu ID_PRINCIPAL  contem mais números (chaves) do que este resultado do gráfico.