Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Cálculo acumulado

Pessoal, boa tarde.

Preciso fazer  um cálculo acumulado por ano, quero que apareça o acumulado de 2010 até o mês selecionado deste. Ex.: Ano 2010 e seleciono o  Mês Março, então deve aparecer o acúmulo de Jan. daquele ano até Março. A princípio eu só tenho o resultado mensal sem o acumulado dos mêses anteriores.

Alguém pode ajudar?

Abs

1 Solution

Accepted Solutions
Not applicable
Author

Duh....

Conseguimos fazer:

Segue

=


RangeSum

(Before(Total sum(


aggr

(sum(if(cdPrestador = '011412',


nuValorNegociadoProporcionalDASAContratoVigenciaResumo

,


nuValorFPOContratoVigenciaResumo

)), cdRegiaoAdministrativaIAMSPE,


cdMunicipio

, cdPrestador, dsAnoMesReferenciaOrigemLink)


)))


-


(

RangeSum(Before(Total sum(


if

(cdIndicadorTipoConta = 'C', vrLiberadoPagamentoContaMedica)


)))


-


RangeSum

(Before(Total sum(


vrRevisado


)))


+


RangeSum

(Before(Total sum(


vrRecursado


)))


-


RangeSum

(Before(Total sum(


if

(cdPrestadorContratoVigenciaResumo = '011412', vrGlosaExtraTetoDebitoCalc


,

vrGlosaExtraTetoDebito)


)))


+


RangeSum

(Before(Total sum(


if

(cdPrestadorContratoVigenciaResumo = '011412', vrGlosaExtraTetoCreditoCalc


,

vrGlosaExtraTetoCredito)


))))


+


(

sum(aggr(sum(if(cdPrestador = '011412',


nuValorNegociadoProporcionalDASAContratoVigenciaResumo

,


nuValorFPOContratoVigenciaResumo

)), cdRegiaoAdministrativaIAMSPE,


cdMunicipio

, cdPrestador, dsAnoMesReferenciaOrigemLink))


-


(

if(vrContasMedicasContaInformada > 0,


sum

(vrContasMedicasContaInformada),sum({$<cdIndicadorTipoConta={"C"}>}


vrLiberadoPagamentoContaMedica

)-sum(vrRevisado))


+


sum

(vrRecursado)


-


sum

(if(cdPrestadorContratoVigenciaResumo = '011412',


vrGlosaExtraTetoDebitoCalc

, vrGlosaExtraTetoDebito))


+


sum

(if(cdPrestadorContratoVigenciaResumo = '011412',


vrGlosaExtraTetoCreditoCalc

, vrGlosaExtraTetoCredito))))

Bjs !

View solution in original post

6 Replies
cesaraccardi
Specialist
Specialist

Olá,

segue um exemplo:

<<script>>

LOAD * INLINE

[Mes, Ano, Valor

1,2010,50

2,2010,30

3,2010,10

];

<<expressão>>

sum({$<Mes={'<=$(=Only(Mes))'}>} Valor)

Para que a expressão funcione deverá ter um valor selecionado no campo mês, observe que estou usando a representação numérica do mês para fazer o set analysis com o intervalo <=Mes , se estivesse no formato texto (jan,fev,mar) teria que formatar o dado para ser interpretado como mês e fazer o <=Mes. Entendeu?

Abraços,
Cesar

Not applicable
Author

César, obrigado.

Mas o meu valor está ficando zerado. rs

Estou colocando a expressão desse modo:

sum({$<dsMesReferenciaOrigemLink={'<=$(=Only(dsMesReferenciaOrigemLink))'}>} Empenho -[Vlr Final])

Pois o valor que eu quero é o cálculo dos campos: Empenho - [Vlr Final]

(dsMesReferenciaOrigemLink é o nome do campo Mês que está na minha lista quando seleciono o mês)

Obrigado.

Abs

Eduardo

aderlanrm
Partner - Specialist
Partner - Specialist

Pessoal, abaixo coloquei uma imagem que pode ser útil a quem está começando a trabalhar com Set Analysis.

Abraço.

QWay - Set Analysis com Modificadores.png

Aderlan Rodrigues
Analista, Arquiteto de Dados e Piloto Amador Drone FPV
 (41) 9 9917-0869  www.BIdeAZ.com.br  Youtube.com/bideaz  Instagram.com/bideaz.in

"Nada é tão inútil quanto fazer eficientemente o que não deveria ser feito." (Peter Drucker)
cesaraccardi
Specialist
Specialist

Olá,

Acredito que faltou só o parâmetro total na expressão:

sum({$<Mes={'<=$(=Only(Mes))'}>} total Valor)

Abraços.

felipe_dutra
Partner - Creator
Partner - Creator

Opa!

Dois exemplos:

Acumulado.JPG

É um dos 2 acima que você quer fazer?

Como o Cesar falou, você tem que usar o "Total" na soma.

No meu caso, criei a dimensão "acumulado Ano".

Se nenhum mês for selecionado, é adotado o último como referência.

Abs,

Felipe

Not applicable
Author

Duh....

Conseguimos fazer:

Segue

=


RangeSum

(Before(Total sum(


aggr

(sum(if(cdPrestador = '011412',


nuValorNegociadoProporcionalDASAContratoVigenciaResumo

,


nuValorFPOContratoVigenciaResumo

)), cdRegiaoAdministrativaIAMSPE,


cdMunicipio

, cdPrestador, dsAnoMesReferenciaOrigemLink)


)))


-


(

RangeSum(Before(Total sum(


if

(cdIndicadorTipoConta = 'C', vrLiberadoPagamentoContaMedica)


)))


-


RangeSum

(Before(Total sum(


vrRevisado


)))


+


RangeSum

(Before(Total sum(


vrRecursado


)))


-


RangeSum

(Before(Total sum(


if

(cdPrestadorContratoVigenciaResumo = '011412', vrGlosaExtraTetoDebitoCalc


,

vrGlosaExtraTetoDebito)


)))


+


RangeSum

(Before(Total sum(


if

(cdPrestadorContratoVigenciaResumo = '011412', vrGlosaExtraTetoCreditoCalc


,

vrGlosaExtraTetoCredito)


))))


+


(

sum(aggr(sum(if(cdPrestador = '011412',


nuValorNegociadoProporcionalDASAContratoVigenciaResumo

,


nuValorFPOContratoVigenciaResumo

)), cdRegiaoAdministrativaIAMSPE,


cdMunicipio

, cdPrestador, dsAnoMesReferenciaOrigemLink))


-


(

if(vrContasMedicasContaInformada > 0,


sum

(vrContasMedicasContaInformada),sum({$<cdIndicadorTipoConta={"C"}>}


vrLiberadoPagamentoContaMedica

)-sum(vrRevisado))


+


sum

(vrRecursado)


-


sum

(if(cdPrestadorContratoVigenciaResumo = '011412',


vrGlosaExtraTetoDebitoCalc

, vrGlosaExtraTetoDebito))


+


sum

(if(cdPrestadorContratoVigenciaResumo = '011412',


vrGlosaExtraTetoCreditoCalc

, vrGlosaExtraTetoCredito))))

Bjs !