locked
bases de dados para relatórios RRS feed

  • Pergunta

  • Oi, pessoal.

    Estou desenvolvendo uma ferramenta que consolida diversos dados para elaborar um grande relatório gerencial, com frequência mensal, em Excel. Algo em torno de 90% dos dados vem do access, mas alguns tem que ser lançados à mão. Eu percebi que posso obter essas informações de dois modos:

    (1) Colocando todas as informações agrupadas por categorias dentro do próprio Excel

    (2) Usando SQL via ADO, uma consulta para cada informação consolidada (ou grupo de).

    Colocando as duas na balança, eu cheguei às seguintes conclusões:

    (1) - Vantagens: Liberdade para modelar as informações, sem mexer no código; Facilidade para completar a base com as informações que não podem ser obtidas do banco.
    Desvantagens: O arquivo fica muito grande; Algumas informações precisam de fórmulas "gigantes" pra ser obtidas.

    (2) - Vantagem: Permite ter um arquivo mais leve e limpo.
    Desvantagem: O processamento fica mais lento, pois aumenta o número de conexões com o banco.

    Então, queria opniões sobre isso.... o que vocês consideram mais jogo????

    quarta-feira, 27 de setembro de 2006 12:56

Respostas

  • Oi Raphael,

    Concordo com suas considerações.

    Quando a seleção que irá fazer no banco tem menos rotatividade ( a informação pode ser extraida cirurgicamente) uso SQL via ADO, creio que é o jeito mais bacana, fica mais profissional. Geralmente para compor gráficos gerenciais e planilhas de custo ficam excelentes.

    Sem saber quais informações o usuário vai utilizar (ele poderá confeccionar o relatório na hora), vc pode puxar um "tabelão" para dentro de uma ou mais planilhas para que o usuário divirta-se. Mas não necessariamente vc precisa colocar em um mesmo arquivo, vc pode criar um outro arquivo contendo os dados (que este sim ficará grande!), ou usar uma consulta no seu banco (sql de grande tupla) para "obter dados externos" no excel e antes de salvar a planilha vc sempre limpar os dados para reduzir seu tamanho. São algumas sugestões.

    Claro que sempre haverão formas diferentes de fazer a mesma coisa, não há um modo mais correto. Poderá depender do conhecimento do(s) seu(s) usuário(s), máquina que utiliza, se os dados estarão em rede, qual o trafego desta rede, frequencia de atualização do banco, frequencia de consulta do usuário a estes dados, etc.

    Tudo isto dá uma boa discussão!!

    []'s

     

     

    sexta-feira, 29 de setembro de 2006 05:05
  • Oi Daniel!

    Então... quem vai criar o relatório sou eu mesmo... o modelo já existia aqui na empresa, foi criado há uma "pá" de tempo e eu estou aperfeiçoando... Notei que executar diversas consultas SQL demora mais, mas compensa, pois esse relatório só é gerado uma vez por mês, e poupa o Excel de realizar N cálculos com funções, que tb demora pacas....

    Em alguns pontos, eu to usando só SQL mesmo, mas em outros eu me vejo muito limitado, já que o Excel permite que eu faça MUITO mais cálculos que Access via SQL. Nesses casos eu estou mesmo limitadaço.....

    Já me disseram que eu posso usar algumas em consultas ADO no Excel funções que eu defini internamente no Access, mas não creio que valha a pena, pois em breve esse banco em Access vai "pro saco".... E é até por isso que eu quero ver "aonde posso chegar" usando apenas SQL. Depois pode até ser que eu use o Excel apenas pra formatar e apresentar dados consolidados... mas por enquanto eu estou no escuro, já que não sei qual será o SGBD que vai ser implantado aqui.

    Um abraço e valeu pela dica!!!

    sábado, 30 de setembro de 2006 19:53

Todas as Respostas

  • Oi Raphael,

    Concordo com suas considerações.

    Quando a seleção que irá fazer no banco tem menos rotatividade ( a informação pode ser extraida cirurgicamente) uso SQL via ADO, creio que é o jeito mais bacana, fica mais profissional. Geralmente para compor gráficos gerenciais e planilhas de custo ficam excelentes.

    Sem saber quais informações o usuário vai utilizar (ele poderá confeccionar o relatório na hora), vc pode puxar um "tabelão" para dentro de uma ou mais planilhas para que o usuário divirta-se. Mas não necessariamente vc precisa colocar em um mesmo arquivo, vc pode criar um outro arquivo contendo os dados (que este sim ficará grande!), ou usar uma consulta no seu banco (sql de grande tupla) para "obter dados externos" no excel e antes de salvar a planilha vc sempre limpar os dados para reduzir seu tamanho. São algumas sugestões.

    Claro que sempre haverão formas diferentes de fazer a mesma coisa, não há um modo mais correto. Poderá depender do conhecimento do(s) seu(s) usuário(s), máquina que utiliza, se os dados estarão em rede, qual o trafego desta rede, frequencia de atualização do banco, frequencia de consulta do usuário a estes dados, etc.

    Tudo isto dá uma boa discussão!!

    []'s

     

     

    sexta-feira, 29 de setembro de 2006 05:05
  • Oi Daniel!

    Então... quem vai criar o relatório sou eu mesmo... o modelo já existia aqui na empresa, foi criado há uma "pá" de tempo e eu estou aperfeiçoando... Notei que executar diversas consultas SQL demora mais, mas compensa, pois esse relatório só é gerado uma vez por mês, e poupa o Excel de realizar N cálculos com funções, que tb demora pacas....

    Em alguns pontos, eu to usando só SQL mesmo, mas em outros eu me vejo muito limitado, já que o Excel permite que eu faça MUITO mais cálculos que Access via SQL. Nesses casos eu estou mesmo limitadaço.....

    Já me disseram que eu posso usar algumas em consultas ADO no Excel funções que eu defini internamente no Access, mas não creio que valha a pena, pois em breve esse banco em Access vai "pro saco".... E é até por isso que eu quero ver "aonde posso chegar" usando apenas SQL. Depois pode até ser que eu use o Excel apenas pra formatar e apresentar dados consolidados... mas por enquanto eu estou no escuro, já que não sei qual será o SGBD que vai ser implantado aqui.

    Um abraço e valeu pela dica!!!

    sábado, 30 de setembro de 2006 19:53