Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Olá pessoal.
Preciso de uma ajuda em um cálculo de percentual na diagonal. Se trata da taxa de rolagem de dívida, onde se divide o saldo do mês atual de uma determinada faixa de atraso, pelo saldo do mês anterior da faixa de atraso acima. Para tentar exemplificar, envio uma imagem de como seria o cálculo.
Na tabela dinâmica do qlik sense consegui fazer esse cálculo (Exemplo: 900 de 03/2020 faixa 1-30 dividido por 5000 de 02/2020 faixa anterior (faixa 0)) usando above e before.
=sum(SomaSaldo)/above(Before(Sum(SomaSaldo),1,ColumnNo()))
O problema realmente está sendo fazer isso em um gráfico de linhas, já que o before não pode ser usado em nada diferente de tabela dinâmica.
Na comunidade Qlik achei um post que montou uma expressão usando duas vezes o above com Aggr, mas os números não batem com a tabela...
=Sum(SomaSaldo)/sum(Aggr(Above(Aggr(Above(Sum(SomaSaldo)), FaixadeAtraso_0a180, AnoMes)), AnoMes, FaixadeAtraso_0a180))
Conhecem alguma possível solução?
Obrigado!
OBS: exemplo anexado.
Apenas para informar que consegui fazer funcionar:
Sum(SomaSaldo)
/
Above(total Sum(SomaSaldo),8)
O que precisava fazer de fato era entender como os dados da tabela estavam dispostos (Função "Show Data" no botão direito sobre o gráfico), eles estavam uma abaixo do outro. Dessa forma, fazendo dessa forma como fiz a expressão funcionou certinho.
Obrigado pela ajuda.
Você tem um app com uma amostra dos dados e modelo que possa compartilhar?
opa Willian, tudo bom.
Segue um exemplo
Afurtado, eu usei sua aplicação e adicionei mais valores... Coloquei mais meses e criei abaixo um gráfico de linha, que era meu problema em criar...
Eu não sei dizer como, mas usando a expressão com above e agg simplesmente funcionou. E essa mesma fórmula não está funcionando na aplicação que estou trabalhando em minha empresa...
Encaminho no anexo ela funcionando...
Vou tentar amanhã subir a aplicação do trabalho pra que possam avaliar, mas com o exemplo funcionou no gráfico de linha:
Sum(Valor)
/
Sum(Aggr(Above(Aggr(Above(Sum(Valor)), Faixa, Mes)), Mes, Faixa))
Clever, anexei o exemplo na postagem inicial e na resposta acima.
Amanhã tento subir a aplicação do trabalho pra que possa avaliar.
cuidado com dados sensíveis quando colocar o modelo
Furtado e Clever, não teve como eu disponibilizar o qvf com os dados para que pudessem avaliar...
Eu extraí os dados analíticos em uma tabela de excel e subi no meu qlik sense pessoal e fiz os cálculos... Dessa forma funcionaram normal, como no outro exemplo feito, tanto tabela como gráfico de linhas. Falei com um colega que tb trabalha na área e ele está desconfiado que pode ter alguma coisa a ver com o script pra criar as informações, relacionado ao dois campos que usamos para tentar criar o gráfico de linhas: Faixa de atraso e período (Ano Mês). Mas o estranho é que em uma tabela dinâmica, os cálculos funcionam bem... diferente do gráfico de linhas.
A faixa de atraso basicamente é criada dessa forma:
if(MaxFaixadeAtraso=0 , Dual('0',1),
if(MaxFaixadeAtraso>0 and MaxFaixadeAtraso<=30, Dual('1-30',2),
if(MaxFaixadeAtraso>30 and MaxFaixadeAtraso<=60, Dual('31-60',3),
if(MaxFaixadeAtraso>60 and MaxFaixadeAtraso<=90, Dual('61-90',4),
if(MaxFaixadeAtraso>90 and MaxFaixadeAtraso<=120, Dual('91-120',5),
if(MaxFaixadeAtraso>120 and MaxFaixadeAtraso<=150, Dual('121-150',6),
if(MaxFaixadeAtraso>150 and MaxFaixadeAtraso<=180, Dual('151-180',7)))))))) as FaixadeAtraso_0a180
E o campo de data é feito apenas um date:
date(InfCarteiraMensal_DataMovimento,'YYYYMM') as InfCarteiraMensal_AnoMes
Tente trocar o
date(InfCarteiraMensal_DataMovimento,'YYYYMM') as InfCarteiraMensal_AnoMes
por
date(monthstart(InfCarteiraMensal_DataMovimento),'YYYYMM') as InfCarteiraMensal_AnoMes
O date apenas aplica uma mascara, entao a data 07/Abril/2020 vai mostrar 202004 mas internamente ainda o dia 07 esta la
Apenas para informar que consegui fazer funcionar:
Sum(SomaSaldo)
/
Above(total Sum(SomaSaldo),8)
O que precisava fazer de fato era entender como os dados da tabela estavam dispostos (Função "Show Data" no botão direito sobre o gráfico), eles estavam uma abaixo do outro. Dessa forma, fazendo dessa forma como fiz a expressão funcionou certinho.
Obrigado pela ajuda.