18 Replies Latest reply: Oct 24, 2014 8:37 AM by Hamilton Junior RSS

    Tabela vs Objeto Texto

    Hamilton Junior

      Bom dia, tenho um projeto de uma DRE onde sua estrutura eu montem em cima de Objetos de texto, ou seja, cada linha, cada campo era um quadradinho com sua formula, aqui mesmo no grupo me indicaram para fazer isto com uma tabela,

      tentei estruturar de duas formas, a primeira foi criando as colunas com ValueList e a segunda foi montando o a estrutura no script

      Dim:

      LOAD

        dual('Receita Líquida com Venda',1) as %Dim AutoGenerate(1);

      LOAD

        dual('(+) Margem PDV',2) as %Dim AutoGenerate(1);

       

      porém de nenhuma forma eu consigo fazer com que apareça valores quando eu tenho um SUM(AGGR()) dentro das formulas, ou o valor sai errado ou fica zerado. Alguém sabe o motivo disto?

      Estou pensando em voltar para os Objetos de Texto, porém vou perder a facilidade de gerar os relatórios em Excel.

        • Re: Tabela vs Objeto Texto
          Yuri Nicolett

          Coloque um exemplo de seus dados e a conta que esta tentando fazer.

          • Re: Tabela vs Objeto Texto
            Clever Anjos

            Com uma massa de dados ficaria mais fácil mesmo

            • Re: Tabela vs Objeto Texto
              Hamilton Junior

              Segue anexo para pedir opinião de vocês.

              Hoje eu tenho uma DRE que realiza uma série de cálculos, então eu fiz as fórmulas em variáveis. Desta forma, nos campos eu somo $(=variável1 )+ $(=variável2) e assim por diante, quando eu jogo essas variáveis na tabela ela não funciona quando tenho Aggr() na fórmula, ai eu tenho que abrir e fazer sum(aggr(toda a conta enorme1)) + sum(aggr(toda a conta enorme2)) aumentando a margem de erro em alguma alteração.

               

              Acham que tem uma forma mais fácil de resolver isso ou vou ter que abrir toda a conta dentro da tabela mesmo?

                • Re: Re: Tabela vs Objeto Texto
                  Yuri Nicolett

                  Hamilton, adicionei o %Dim em seu AGGR e funcionou. Seu problema é adicionar  %Dim na variável? Você vai utilizar essa variável em outros lugares?

                   

                  Minha opinião: Sou contra utilizar muitos objetos de texto em uma tabela para forçar um relatório se parecer com qualquer coisa que o usuário deseja, pois:

                  1. Perca de performance na aplicação
                  2. Difícil manutenção de código (pode não ser para você, mas e se outro analista for dar manutenção no código?)
                  3. Difícil manutenção de layout
                  4. Se o usuário perguntar porque não pode exportar essa tabela para o excel a sua casa cai rsrs (só macro para te salvar ou montar um report para exportar em pdf).
                    • Re: Tabela vs Objeto Texto
                      Hamilton Junior

                      Boa tarde Yuri, isso mesmo, o meu problema é adicionar o %Dim na variável pois posso utilizar elas em outros gráficos por exemplo, ou fazer algum outro relatório. Fiz um laboratório com duas aplicações, uma delas com os objetos textos para simular uma DRE visualmente agradável e outra delas com o códio dentro da Tabela.

                      Resultado:

                      Por incrível que pareça, a cada seleção que eu faço no Projeto com os Objetos textos, eu tenho o resultado esperado entre 3 e 4 segundos, a mesma seleção no projeto com o gráfico de tabela demora entre 16 a 18 segundos e o mais agravante, o processador (Xeon 8 núcleos) trava em 100% até mostrar o resultado, ou seja, servidor travado por 15 segundos a cada seleção.

                       

                      Neste caso, vou deixar a tabela gráfica minimizada para exportar para o Excel caso o usuário desejar, assim ela não realiza os cálculos.

                       

                      Talvez alguma coisa eu devo ter feito errado, mas eu comparei os dois projetos e um teve um desempenho melhor que o outro.