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

Total de uma tabela agrupada com % positiva

Bom dia, amigos.

Tenho uma gráfico/tabela que filtra apenas aquelas marcas cuja contribuição/crescimento é positiva. Nesse gráfico limita ao top 10.

Agora o meu gestor pediu o TOTAL deste universo (sem limitar ao top 10), porém o total deve se ater aos positivos.

Veja a tabela abaixo:

tabelinha.PNG

O que eu preciso é exibir esse total num objeto texto. Tentei a seguinte fórmula, mas nao funcionou:

=

sum(

if(aggr(

(sum({<Ano={$(vAnoBase)},MonthNR={'<$(vMesLoop)'}>}VALOR)

-

sum({<Ano={$(vAnoAnterior)},MonthNR={'<$(vMesLoop)'}>}VALOR))

,MARCA_DESC)

>0

,VALOR))

Obrigado!!

André

Labels (2)
15 Replies
Thiago_Justen_

Andre,

Para somar apenas os positivos eu sugiro o seguinte:

Sum({<VALOR={">0"}>}VALOR)


Você precisa de algum tipo de agregação ou de filtro por mês, ano, ou algo do tipo?

Qualquer dúvida adicional, nos deixe saber.

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
AndreFrencl
Contributor III
Contributor III
Author

voce ta se atendo apenas ao VALOR > 0. nao é esse o caso.

O >0 é atribuido após uma formula :

(sum({<Ano={$(vAnoBase)},MonthNR={'<$(vMesLoop)'}>}VALOR)

-

sum({<Ano={$(vAnoAnterior)},MonthNR={'<$(vMesLoop)'}>}VALOR))

Thiago_Justen_

Andre, para que sua expressão funcione e seja mais performática talvez você precise alterar para:

Sum(Aggr(sum({<Ano={$(vAnoBase)},MonthNR={"<$(vMesLoop)"},VALOR={">0"}>}VALOR),MARCA_DESC))

-

Sum(Aggr(sum({<Ano={$(vAnoAnterior)},MonthNR={"<$(vMesLoop)"},VALOR={">0"}>}VALOR),MARCA_DESC))

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
AndreFrencl
Contributor III
Contributor III
Author

Boa, Thiago, mas nao funciona...

Vou te explicar de outra forma.

Temos 100 marcas, e estou comparando vendas deste ano com do ano passado. Obviamente, dá + ou - o seu resultado. Na tabela, eu agrupo apenas as marcas cuja contribuição seja positiva, ou seja, >0.

Fazendo uma conta simples, o resultado dá -2 milhoes.

Porém, somando só as positivas, dá 10 milhoes. E esses 10 milhoes que preciso exibir.

Thiago_Justen_

Ok. Façamos de outra forma, ao invés de tentar acertar na tua expressão:

Ano Atual:

Sum(Aggr(sum({<Ano={$(=Max(Ano))},VALOR={">0"}>}VALOR),MARCA_DESC))


Ano Anterior:

Sum(Aggr(sum({<Ano={$(=Max(Ano)-1)},VALOR={">0"}>}VALOR),MARCA_DESC))

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
AndreFrencl
Contributor III
Contributor III
Author

também nada feito...

Thiago_Justen_

Qual foi o resultado para as expressões e como elas foram utilizadas?

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
AndreFrencl
Contributor III
Contributor III
Author

em todas elas voce procede com uma formula A - B, o que nao funciona.

o que preciso é que a soma só seja efetuada se A+B for positivo.

seria algo assim:

=

sum(


if(

(Aggr(

(sum({<Ano={$(vAnoBase)},MonthNR={'<$(vMesLoop)'}>}VB)

-

sum({<Ano={$(vAnoAnterior)},MonthNR={'<$(vMesLoop)'}>}VB))

,DES_BAND_GMR,MARCA_DESC))

>0,


VB))

Thiago_Justen_

Quais as expressões contidas em vAnoBase, vMesLoop e vAnoAnterior?

E quando você diz "em todas elas voce procede com uma formula A - B, o que nao funciona.", está se referindo exatamente a que? Por isso reitero a pergunta: de que maneira as expressões que te passei estão sendo utilizadas?

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago