Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Prezado(a)s,
estou com o seguinte problema:
preciso gerar um gráfico (barras) com duas dimensões: ano (coluna tabela original = id_tempo) e faixa etária (coluna tabela original = id_faixa_etaria). Como medida, preciso do percentual de faixa etária, segundo ano. Consigo fazer o cálculo do % de faixa etária. Mas, quando apresento essa medida no gráfico, o erro é que o percentual foi calculado em relação a todo o conjunto de valores e não agrupado por ano. Dessa forma, quando somo os percentuais anuais, não totaliza 100%.
O que eu desejo (exemplo):
Ano 2008 - faixa etária A = 25%; faixa etária B = 35%; faixa etária C = 40%
Ano 2009 - faixa etária A = 15%; faixa etária B = 27%; faixa etária C = 58%
O que obtenho:
Ano 2008 - faixa etária A = 12%; faixa etária B = 18%; faixa etária C = 26%
Ano 2009 - faixa etária A = 14%; faixa etária B = 19%; faixa etária C = 11%
Usei a seguinte fórmula (baseado em leituras que fiz tentando resolver essa questão):
sum("Quantidade de casos")/sum(Total<id_faixa_etaria>"Quantidade de casos")
Também tentei:
sum("Quantidade de casos")/sum(Total<id_faixa_etaria,id_tempo>"Quantidade de casos")
Alguém poderia, por favor, me auxiliar?
Abraços,
Rômulo.
Romulo, você deve usar o id_tempo no total, conforme abaixo:
sum("Quantidade de casos")/sum(Total<id_tempo>"Quantidade de casos")
Oi Yuri,
muito obrigado pela atenção.
Estudando um pouco mais, antes de ver a sua resposta, cheguei a essa fórmula, que funcionou:
(sum(aggr(sum("Quantidade de casos"),"Faixa etária","Ano"))/sum(Total <"Ano">"Quantidade de casos"))
Pelo que entendi, a função aggr cria uma tabela temporária e os campos (Faixa etária e Ano) funcionariam como um group by. Estou correto?
Abraços.
Sim, AGGR cria uma tabela virtual e faz o cálculo como se fosse um group by. Só acho que nesse caso não precisa de um aggr.
Já achou uma solução? Se alguma resposta foi a correta, marque como "Correta" para fechar o tópico e nos ajudar a manter o forum organizado.