Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bom dia
Estou com problemas, já tentei seguir várias discussões aqui no fórum mas não obtive êxito.
Tem uma aplicação com o Plano Orçamentário Mensal, porém, desejo criar uma aba que me traga, além dos gastos projetados e realizados do mês marcado, me traga os gastos acumulados do início do ano até o mês selecionado.
ex: Projetado Jan: 1.200 Projetado Acumulado Jan: 1.200
Projetado Fev: 1.550 Projetado Acumulado Fev: 2.750
Projetado Mar: 1.780 Projetado Acumulado Mar: 4.530
Segue a expressão utilizada para o projetado do mês selecionado.
SUM({<ATIVO_SN={"S"}, PACOTE_C={"1","2","3","4","5","6","7","8","9","10","11"},UNIDADE_C={"14"},CUSTO_C={"7253","7351"}, CONTA_C={"*"}-{"3416"} >}VL_GASTOS_ORC)
Desde já agradeço a atenção
Ola,
Você pode utilizar as funções RUNGESUM + ABOVE para realizar o calculo de acumulado.
Ex.: RANGESUM( SUM( SEU_VALOR ),ABOVE( SUM( SEU_VALOR ), 1, ROWNO() ) )
Basicamenteo conceito é retornar o valor do registro atual atraves do primeiro parâmetro na função RANGESUM(): SUM( SEU_VALOR )
A função ABOVE possui 3 parêmetros sendo a primeira a expressão de cálculo, a segunda a partir de qual registro deve iniciar, e o terceiro parâmetro q quantidade de linhas anteriores deve ser considerado.
Para que você consiga realizar seu cálculo, basta trocar a expressão SUM( SEU_VALOR ), para expressão que você esta utilizando:
SUM({<ATIVO_SN={"S"}, PACOTE_C={"1","2","3","4","5","6","7","8","9","10","11"},UNIDADE_C={"14"},CUSTO_C={"7253","7351"}, CONTA_C={"*"}-{"3416"} >}VL_GASTOS_ORC)
Segue em eanexo um exemplo com a utilização destas funções.
Fiz como você explicou, mas não adiantou..
PROJ FEV
SUM({<ATIVO_SN={"S"}, PACOTE_C={"1","2","3","4","5","6","7","8","9","10","11"},UNIDADE_C={"14"},CUSTO_C={"7253","7351"}, CONTA_C={"*"}-{"3416"} >}VL_GASTOS_ORC)
PROJ ACUM FEV
RANGESUM( SUM({<ATIVO_SN={"S"}, PACOTE_C={"1","2","3","4","5","6","7","8","9","10","11"},UNIDADE_C={"14"},CUSTO_C={"7253","7351"}, CONTA_C={"*"}-{"3416"} >}VL_GASTOS_ORC),
ABOVE( SUM({<ATIVO_SN={"S"}, PACOTE_C={"1","2","3","4","5","6","7","8","9","10","11"},UNIDADE_C={"14"},CUSTO_C={"7253","7351"}, CONTA_C={"*"}-{"3416"} >}VL_GASTOS_ORC), 1, ROWNO() ) )
Esse exemplo que eu fiz foi para acumular as linhas, tem como postar um exemplo pequeno com dados para que possa montar a expressão correta?
Segue
Quero que acumule o total de gastos
ficaria dessa forma
Porem, estaria selecionando um mês de cada vez.
Segue abaixo qvw e base de exemplo.
Desde já agradeço a ajuda.
troque a função above por BEFORE e o rowno() por ColumnNO()
RANGESUM(sum(VALOR), BEFORE(SUM(VALOR), 1, ColumnNo()))
segue o seu exemplo
Parceiro.. se eu não selecionar nenhum mês funciona perfeitamente.. Porem se eu selecionar um mês, ele não acumula no Acumulado.
As apresentações são mensais, onde irei analizar apenas o mes selecionado e o acumulado até ele.
Acredito que você deva utilziar também uma expressão de set analysis.
Um caminho pode ser este:
sum({$<MÊS={'<=$(=Only(MÊS))'} >} total<CONTA> VALOR)
Mas teria que adapta-lo até encaixar no resultado esperado.