Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
JacksonAlfonso
Creator
Creator

Ajuda - Somar Nível Anterior - Aplicação lenta :´-(

Boa tarde galera !!

Seguinte, tenho uma análise que estou trabalhando que preciso montar uma tabela com os valores de entrada e saida por conta, até ai tudo bem, o problema é que na tabela de MOVIMENTO, os valores são lançados apenas nas contas fim, se atenção nos dados abaixo, em negrito estão as contas que recebem lançamentos, e eu preciso acumular nos respectivos códigos acima, por exemplo tudo que é movimentado na conta 111110100-Caixa, tem que somar na conta 111110000 - CAIXA E EQUIVALENTES DE CAIXA EM MOEDA NACIONAL-CONSOLIDACAO, e assim por diante.

100000000ATIVO
110000000ATIVO CIRCULANTE
111000000CAIXA E EQUIVALENTES DE CAIXA
111100000CAIXA E EQUIVALENTES DE CAIXA EM MOEDA NACIONAL
111110000CAIXA E EQUIVALENTES DE CAIXA EM MOEDA NACIONAL-CONSOLIDACAO
111110100=CAIXA
111110200=CONTA UNICA
111110600CONTA UNICA - RPPS
111110601= BANCOS CONTA MOVIMENTO-RPPS
111110602= BANCOS CONTA MOVIMENTO - PLANO FINANCEIRO
111110603= BANCOS CONTA MOVIMENTO - PLANO PREVIDENCIARIO
111110604= BANCOS CONTA MOVIMENTO - TAXA DE ADMINISTRACAO

Hoje a solução que achei foi carregar a tabela 7 x que é o numero de níveis de conta existentes, acumulando os valores em todas as contas, funciona, o problema é que a tabela de movimento tem 8 milhões de registros, então no final das contas crio uma tabela com 56 milhões de registros, e minha aplicação fica muuuuiiiiittttoooooo lenta.

Se alguém puder dar aluma ideia, agradeço.

Att,

Jackson

1 Solution

Accepted Solutions
nicolett_yuri

A Hierarquia esta completa sim, mas não esta organizada da forma que deseja (com conta pai e conta filho). Imagine que você precisa transformar a sua tabela do plano de contas para que quando selecione a conta pai, deve-se também retornar, em sua seleção, as contas filhos da conta selecionada.

View solution in original post

7 Replies
nicolett_yuri

Jackson, você precisa criar uma tabela somente com as informações do mapeamento de contas e nesta tabela você pode carregar as 7x que precisou e a quantidade de registros será pequena. Seu erro foi fazer isso na tabela de movimentação.

JacksonAlfonso
Creator
Creator
Author

Bom dia Yuri, confesso que não consegui captar o que você falou.

Carrego 7x a tabela de movimento porque não sei como linkar a tabela de descrição do plano, com a tabela de movimento, para os códigos de nível agrupador.

Ta ai o X da questão.

nicolett_yuri

Você tem que tratar a sua tabela de descrição do plano e não a de movimento. Na plano de contas você precisa chegar na hierarquia que deseja

JacksonAlfonso
Creator
Creator
Author

Então, na tabela de Plano de Contas a hierarquia esta completa.

O que não consigo visualizar é como "somar" o meu movimento nos níveis anteriores.

Tipo assim a ligação do Plano com a Movimento é o campo IDPLanoContas, só que na Plano Contas só tenho os ID's do ultimo nível, com isso se coloco por exemplo como dimensão a descrição do plano e mando somar os valores, só são apresentados as contas com movimentação, sem os niveis acima, para fazer isso teria que usar alguma expressão mais elaborada e não somente um SUM, seria isso ?!

Antes de mais nada, Obrigado pela ajuda !

nicolett_yuri

A Hierarquia esta completa sim, mas não esta organizada da forma que deseja (com conta pai e conta filho). Imagine que você precisa transformar a sua tabela do plano de contas para que quando selecione a conta pai, deve-se também retornar, em sua seleção, as contas filhos da conta selecionada.

JacksonAlfonso
Creator
Creator
Author

Putz !!! Plim !!!

Valeu Yuri, agora captei a vossa mensagem....kkkk

Obrigado cara, vou fazer os testes aqui.

nicolett_yuri

rsrs!

Desta forma você vai duplicar, triplicar, quadruplicar.... informações da sua tabela dimensional e não da sua tabela de movimentação (fato).

Essa hierarquia você pode tentar fazer com os JOINS mesmo ou então pensar em utilizar o Hierarchy