Ajuda com relatório em FastReport

Delphi

30/04/2008

Galera e o seguinte, estou precisando de uma ajuda com o fast report
eu tenho um sql ( estou usando mysql ) e quero que o fast some para cima os valores das contas sintéticas.

Veja so a imagem

Neste relatorio estou somando para baixo os valores das contas sintéticas e o relatorio esta dando 88 paginas, mas se eu tirar a soma para baixo o relatório da +- umas 30 paginas.

Abaixo segue a sentença SQL que eu to usando.

select fi.cod_ficha, 

fi.cod_orgao, og.descricao descorgao,
fi.cod_unidade, un.descricao descunidade,   
fi.cod_subunidade, sbu.descricao as descsubunidade,
fi.cod_funcao, fun.descricao as descfunc,  
fi.cod_subfuncao, subf.descricao as descsubfunc,  
fi.cod_programa, prg.descricao as descprograma,  
fi.cod_projativ, pj.descricao as descprojativ,
fi.cod_elemento, ele.descricao as descelemento,
fi.cod_subelemento, sbe.descricao as descsubelemento,
fi.orcado as t_orc_subelemento,

      ( select sum(fc1.valor) from ficha_credito fc1, fichas f2 
        where f2.cod_ficha = fc1.cod_ficha            and 
              f2.cod_orgao = fi.cod_orgao             and 
              f2.cod_unidade = fi.cod_unidade         and
              ( f2.cod_unidade = sbu.cod_unidade      and
                f2.cod_subunidade = sbu.cod_subunid ) and 
              f2.cod_funcao = fi.cod_funcao           and
              f2.cod_subfuncao = fi.cod_subfuncao     and
              f2.cod_programa  = fi.cod_programa      and
              f2.cod_projativ  = fi.cod_projativ      and
              f2.cod_subelemento = fi.cod_subelemento and
              fc1.data >= ´2008-01-01´                and 
              fc1.data <= ´2008-04-30´) as t_cred_subelemento,

      ( select sum(fa1.valor) from ficha_anulacao fa1, fichas f3 
        where f3.cod_ficha = fa1.ficha                and
              f3.cod_orgao = fi.cod_orgao             and 
              f3.cod_unidade = fi.cod_unidade         and
              ( f3.cod_unidade = sbu.cod_unidade      and
                f3.cod_subunidade = sbu.cod_subunid ) and
              f3.cod_funcao = fi.cod_funcao           and
              f3.cod_subfuncao = fi.cod_subfuncao     and
              f3.cod_programa  = fi.cod_programa      and
              f3.cod_projativ  = fi.cod_projativ      and
              f3.cod_subelemento = fi.cod_subelemento and
              fa1.data >= ´2008-01-01´                and
              fa1.data <= ´2008-04-30´ ) as t_anul_subelemento,

      ( select sum(em1.valor_empenho) from empenhos em1, fichas f4 
        where em1.cod_ficha = f4.cod_ficha            and
              f4.cod_orgao   = fi.cod_orgao           and
              f4.cod_unidade = fi.cod_unidade         and 
              ( f4.cod_unidade = sbu.cod_unidade      and
                f4.cod_subunidade = sbu.cod_subunid ) and
              f4.cod_funcao = fi.cod_funcao           and
              f4.cod_subfuncao = fi.cod_subfuncao     and
              f4.cod_programa  = fi.cod_programa      and
              f4.cod_projativ  = fi.cod_projativ      and
              f4.cod_subelemento = fi.cod_subelemento and
              em1.data_empenho >= ´2008-01-01´        and 
              em1.data_empenho <= ´2008-04-30´ ) as t_emp_subelemento,

      ( select sum(ea1.valor) from empenhos_anulacao ea1, fichas f5 
        where ea1.cod_ficha  = f5.cod_ficha           and
              f5.cod_orgao   = fi.cod_orgao           and 
              f5.cod_unidade = fi.cod_unidade         and 
              ( f5.cod_unidade = sbu.cod_unidade      and
                f5.cod_subunidade = sbu.cod_subunid ) and
              f5.cod_funcao = fi.cod_funcao           and
              f5.cod_subfuncao = fi.cod_subfuncao     and
              f5.cod_programa  = fi.cod_programa      and
              f5.cod_projativ  = fi.cod_projativ      and
              f5.cod_subelemento = fi.cod_subelemento and
              ea1.data >= ´2008-01-01´                and
              ea1.data <= ´2008-04-30´ ) as t_emp_anul_subelemento,

      ( select sum(el1.valor) from empenhos_liquidacao el1, fichas f6 
        where el1.cod_ficha = f6.cod_ficha            and 
              f6.cod_orgao  = fi.cod_orgao            and 
              f6.cod_unidade = fi.cod_unidade         and 
              ( f6.cod_unidade = sbu.cod_unidade      and
                f6.cod_subunidade = sbu.cod_subunid ) and
              f6.cod_funcao = fi.cod_funcao           and
              f6.cod_subfuncao = fi.cod_subfuncao     and
              f6.cod_programa  = fi.cod_programa      and
              f6.cod_projativ  = fi.cod_projativ      and
              f6.cod_subelemento = fi.cod_subelemento and
              el1.data >= ´2008-01-01´                and
              el1.data <= ´2008-04-30´ ) as t_liqui_subelemento,

      ( select sum(eq1.valor) from empenhos_quitacao eq1, fichas f7 
        where eq1.cod_ficha = f7.cod_ficha            and 
              f7.cod_orgao   = fi.cod_orgao           and 
              f7.cod_unidade = fi.cod_unidade         and 
              ( f7.cod_unidade = sbu.cod_unidade      and
                f7.cod_subunidade = sbu.cod_subunid ) and
              f7.cod_funcao = fi.cod_funcao           and
              f7.cod_subfuncao = fi.cod_subfuncao     and
              f7.cod_programa  = fi.cod_programa      and
              f7.cod_projativ  = fi.cod_projativ      and
              f7.cod_subelemento = fi.cod_subelemento and
              eq1.data >= ´2008-01-01´                and
              eq1.data <= ´2008-04-30´ ) as t_quit_subelemento,

      ( select sum(em1.valor_empenho) from empenhos em1, fichas f4 
        where em1.cod_ficha = f4.cod_ficha            and
              f4.cod_orgao   = fi.cod_orgao           and
              f4.cod_unidade = fi.cod_unidade         and 
              ( f4.cod_unidade = sbu.cod_unidade      and
                f4.cod_subunidade = sbu.cod_subunid ) and
              f4.cod_funcao = fi.cod_funcao           and
              f4.cod_subfuncao = fi.cod_subfuncao     and
              f4.cod_programa  = fi.cod_programa      and
              f4.cod_projativ  = fi.cod_projativ      and
              f4.cod_subelemento = fi.cod_subelemento and
              em1.data_empenho >= ´2008-01-01´        and
              em1.data_empenho <= ´2008-04-30´ ) as t_empate_subelemento,

      ( select sum(ea1.valor) from empenhos_anulacao ea1, fichas f5 
        where ea1.cod_ficha  = f5.cod_ficha           and
              f5.cod_orgao   = fi.cod_orgao           and 
              f5.cod_unidade = fi.cod_unidade         and 
              ( f5.cod_unidade = sbu.cod_unidade      and
                f5.cod_subunidade = sbu.cod_subunid ) and
              f5.cod_funcao = fi.cod_funcao           and
              f5.cod_subfuncao = fi.cod_subfuncao     and
              f5.cod_programa  = fi.cod_programa      and
              f5.cod_projativ  = fi.cod_projativ      and
              f5.cod_subelemento = fi.cod_subelemento and
              ea1.data >= ´2008-01-01´                and
              ea1.data <= ´2008-04-30´ ) as t_empate_anul_subelemento,

      ( select sum(el1.valor) from empenhos_liquidacao el1, fichas f6 
        where el1.cod_ficha = f6.cod_ficha            and 
              f6.cod_orgao  = fi.cod_orgao            and 
              f6.cod_unidade = fi.cod_unidade         and 
              ( f6.cod_unidade = sbu.cod_unidade      and
                f6.cod_subunidade = sbu.cod_subunid ) and
              f6.cod_funcao = fi.cod_funcao           and
              f6.cod_subfuncao = fi.cod_subfuncao     and
              f6.cod_programa  = fi.cod_programa      and
              f6.cod_projativ  = fi.cod_projativ      and
              f6.cod_subelemento = fi.cod_subelemento and
              el1.data >= ´2008-01-01´                and
              el1.data <= ´2008-04-30´ ) as t_liquiate_subelemento,

      ( select sum(eq1.valor) from empenhos_quitacao eq1, fichas f7 
        where eq1.cod_ficha = f7.cod_ficha            and 
              f7.cod_orgao   = fi.cod_orgao           and 
              f7.cod_unidade = fi.cod_unidade         and 
              ( f7.cod_unidade = sbu.cod_unidade      and
                f7.cod_subunidade = sbu.cod_subunid ) and
              f7.cod_funcao = fi.cod_funcao           and
              f7.cod_subfuncao = fi.cod_subfuncao     and
              f7.cod_programa  = fi.cod_programa      and
              f7.cod_projativ  = fi.cod_projativ      and
              f7.cod_subelemento = fi.cod_subelemento and
              eq1.data >= ´2008-01-01´                and
              eq1.data <= ´2008-04-30´ ) as t_quitate_subelemento
 
from fichas fi, orgao og, unidade un, sub_unidade sbu, funcao fun, subfuncao subf,
     programa prg, projativ pj, elemento ele, sub_elemento sbe


where fi.cod_orgao = og.cod_orgao              and
      fi.cod_unidade = un.cod_unidade          and
     (sbu.cod_unidade = fi.cod_unidade         and
      sbu.cod_subunid = fi.cod_subunidade )    and
      fi.cod_funcao   = fun.cod_funcao         and
      fi.cod_subfuncao = subf.cod_subfunc      and
      fi.cod_programa = prg.cod_programa       and
      fi.cod_projativ = pj.cod_projativ        and
      fi.cod_elemento = ele.cod_elemento       and
      fi.cod_subelemento = sbe.cod_subelemento and
      fi.tipo = ´O´

order by fi.cod_orgao , fi.cod_unidade, fi.cod_subunidade,fi.cod_funcao, 
         fi.cod_subfuncao,fi.cod_programa,fi.cod_projativ, fi.cod_subelemento


Sera que tem como fazer isso em FAST
Tentei usar OLAP e nao sei como trabalhar com ele, se alguém puder me ajudar serei muito grato


Fknyght

Fknyght

Curtidas 0

Respostas

Fknyght

Fknyght

30/04/2008

alguém por favor, me de uma luz


GOSTEI 0
POSTAR