Relatórios Dinâmicos - alguma luz?

7 respostas
P

Opa :smiley:

Preciso criar uma interface que exibe as tabelas e exibir as tabelas do banco e deixar o usuário escolher livremente as colunas que ele deseja gerar o relatório.

Alguém tem alguma idéia de como vai funcionar o mecanismo de seleção de tabelas e a busca?

Abç

7 Respostas

yorgan

Você quer liberar todas as tabelas do banco para o usuário cruzar como bem entender, isso não é meio arriscado não?
Dependendo do relacionamento que for feito o banco pode acabar abrindo as pernas.
Mas dependendo de o que você quer a solução pode ser a utilização de Velocity juntamente com iText.

[]´s

Daniel

P

Fala yorgan :smiley:

Então, não vou liberar tudo…vou apenas liberar as tabelas que são de maior interesse para o usário e limitar uma determinada quantidade de seleções por que se ele começar a fazer joins por todo lado, vai abrir as pernas ( isso já aconteceu uma vez em um relatório mirabolante que o cliente tinha pedido ) de vez.

Minha idéia é liberar umas 3 tabelas que se relacionam entre si e as colunas para ele selecionar o que ele quer. Assim ele fica mais independente para buscar dados e não pede um relatório novo por semana.

Vou dar uma lida nesse Velocity e estudar como ele se comporta para ver se atende as minhas necessidades.

Obrigado pela ajuda :slight_smile:

J

Acho que o que você quer fazer dá pra fazer usando o Pentaho, só tem que ver se vale a pena toda uma estrutura de BI para resolver seu problema.

Marck

Olá!

É só uma ideia: pra resolver este problema, eu usei um Pivot Table. Aquele do framework Jide.
No meu sistema, em todas as telas, depois que o usuário faz uma consulta, ele tem a opção de criar visões a partir dos dados da consulta.

Faço isso com Reflection em cima dos beans.

abraço!

P

Olá amigos!

Vou dar uma pesquisada no Pentaho.

Esse Pivot Table parece ser interessante, mas ele é swing. Não existe nenhum framework tipo JIDE Pivot Grid para web?

Eu tinha pensado em montar a view com alguns combos que irão preencher tabelas e irão jogar para outro campo da view e depois eu recuperava esse campo e montava o select com os respectivos lefts joins e tal.

É uma boa sugestão essa? Não fica meio engessado ou porco?

Marck

Opá! Blza?

Eu não acho que fique porco nem engessado. Acho que é uma boa forma de dar liberdade ao usuário. Mas dependendo da quantidade de usuários que acessa o banco, pode ser necessário usar paginação.
O bacana de se usar algo como o JPA é que ele traz os dados p memória somente quando eles serão usados. As vezes voce traz uma porrada de informação e usuário não a usa.

O pivottable voce só passa um DefaultTableModel que ele já se vira com o resto. Ai o usuário cria as visões que precisar.

abraço!

xdraculax

Pentaho é uma ótima solução.

Além de você poder fazer isso perfeitamente, pode criar seus modelos e liberar somente o que precisa (ou o que pode), controlar o acesso através de login/senha - e isso pode se integrar facilmente ao seu sistema, pois ele usa JDBC para o banco de dados do próprio Pentaho e do banco destino.

Você também pode deixar relatórios pré-definidos para o usuário utilizar na ferramenta on-line.
Pode fazer relatórios analíticos. Bom suporte a internacionalização - embora não esteja 100%.

Enfim… certamente é uma solução BI atual e Open Source que vale a pena conhecer.
Porém, uma fator contra é que é meio complexo de entender.

Criado 9 de setembro de 2009
Ultima resposta 9 de out. de 2009
Respostas 7
Participantes 5