Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
luis_lorenzo
Contributor III
Contributor III

Cálculo de Soma de Média

Bom dia,

Estou tentando realizar a soma de uma média no Qlikview, utilizando para isto a opção de Mostrar Subtotais.

O que ocorre é que a coluna que necessito obter o subtotal é uma coluna de Cálculo de Média. No meu caso:

num(num(Sum({$<[Dt. Entrada Atendimento] = {$(V_Dt_Filtro)}, [Motivo Excl. Item Conta]={'ND'}>} if(IsNull([Vl. Item Atendido]),0,[Vl. Item Atendido])),'###.###.###.###,##')/

num(Count({$<[Dt. Entrada Atendimento] = {$(V_Dt_Filtro)},[Motivo Excl. Item Conta]={'ND'} >}DISTINCT([Nr. Atendimento Contagem])), '####.###.###.###'),'###.###.###.###,##')

O que acontece é que no final quando quero os Totais, o qlik esta trazendo uma média dos valores acima calculados, porém necessito do total deles. qual procedimento poderia efetuar neste caso.

Segue imagem da aplicação:

Agradeço se me auxiliarem, até porque vou precisar do total para realizar o cálculo de participação de cada valor no total depois.

1 Solution

Accepted Solutions
nicolett_yuri

Luis, na tabela dinâmica o subtotal sempre respeitará a conta que esta realizando na expressão. Imagine que o cálculo é refeito como se não houvesse dimensão a ser analisada.

Para que o subtotal faça uma conta diferente da expressão, no caso um somatório, você deverá utilizar o AGGR em sua expressão.

Por exemplo:

SUM(AGGR(

num(num(Sum({$<[Dt. Entrada Atendimento] = {$(V_Dt_Filtro)}, [Motivo Excl. Item Conta]={'ND'}>} if(IsNull([Vl. Item Atendido]),0,[Vl. Item Atendido])),'###.###.###.###,##')/

num(Count({$<[Dt. Entrada Atendimento] = {$(V_Dt_Filtro)},[Motivo Excl. Item Conta]={'ND'} >}DISTINCT([Nr. Atendimento Contagem])), '####.###.###.###'),'###.###.###.###,##')


,DIMENSAO1_DA_TABELA,DIMENSAO2_DA_TABELA))

Em dimensão, você deve substituir por todas as dimensões utilizadas na sua tabela dinâmica.

View solution in original post

2 Replies
nicolett_yuri

Luis, na tabela dinâmica o subtotal sempre respeitará a conta que esta realizando na expressão. Imagine que o cálculo é refeito como se não houvesse dimensão a ser analisada.

Para que o subtotal faça uma conta diferente da expressão, no caso um somatório, você deverá utilizar o AGGR em sua expressão.

Por exemplo:

SUM(AGGR(

num(num(Sum({$<[Dt. Entrada Atendimento] = {$(V_Dt_Filtro)}, [Motivo Excl. Item Conta]={'ND'}>} if(IsNull([Vl. Item Atendido]),0,[Vl. Item Atendido])),'###.###.###.###,##')/

num(Count({$<[Dt. Entrada Atendimento] = {$(V_Dt_Filtro)},[Motivo Excl. Item Conta]={'ND'} >}DISTINCT([Nr. Atendimento Contagem])), '####.###.###.###'),'###.###.###.###,##')


,DIMENSAO1_DA_TABELA,DIMENSAO2_DA_TABELA))

Em dimensão, você deve substituir por todas as dimensões utilizadas na sua tabela dinâmica.

Clever_Anjos
Employee
Employee

Um ponto a mais, não tem sentido um Num() dentro de outro Num(). Essa função de formatação pode ser feita só no final para formatar conforme desejado