Criando Relatórios no Pentaho Report Designer Baseados em Store Procedures O Pentaho Report Designer é altamente flexível com a manipulação de dados para apresentação em relatórios, não apenas utilizando-se de comandos SQL SELECT, o uso de Store Procedures para o retorno de dados e uma ação simples de ser realizada para a criação de relatórios e será abordado neste tutorial. Por qual motivo usar Store Procedure e não um SELECT ? 1. Muitos usuários tem suas rotinas complexas já desenvolvidas e funcionais usando Store Procedures e não querem reescreve-las para criação de relatórios no PRD. 2. Performance dos bancos de dados para manipulação de dados. Store Procedures tem um ganho significativo no processamento das informações. 3. Criação de mecanismos de segurança aos dados. 4. Redução no tráfego de rede. Para exemplificar o uso vamos fazer um exemplo de uma Store Procedure bem simples que retorna os registros de uma tabela de cliente ( meramente ilustrativo). O banco de dados utilizado será o MySQL, veja abaixo uma Store Procedure na sintaxe do MySQL em um SCHEMA chamado ERP_OLTP. Execute em seu gerenciador de SQL preferido para MySQL. Neste tutorial usamos o MySQL 1/4 Criando Relatórios no Pentaho Report Designer Baseados em Store Procedures Query Browser. DELIMITER $$ DROP PROCEDURE IF EXISTS `ERP_OLTP`.`mySP_Sample_Pentaho_Report`$$ CREATE PROCEDURE `ERP_OLTP`.`mySP_Sample_Pentaho_Report` () BEGIN SELECT * FROM CLIENTES; END$$ DELIMITER ; Para testar se a Store procedure está funcionando corretamente execute o comando de chamada de uma Store procedure no MySQL: CALL mySP_Sample_Pentaho_Report(); Acesse seu Pentaho Report Designer e crie um novo relatório, em seguida adicione uma conexão com o banco de dados conforme imagem abaixo. 2/4 Criando Relatórios no Pentaho Report Designer Baseados em Store Procedures Este mesmo comando deve ser inserido na Query Principal do PRD, todos os resultados serão transformados em objetos para apresentação no relatório sem diferenças do comando SELECT. Podemos melhorar este exemplo adicionando um parâmetro a Store Procedure, como por exemplo um filtro por Estado. DELIMITER $$ DROP PROCEDURE IF EXISTS `ERP_OLTP`.`mySP_Sample_Pentaho_Report`$$ CREATE PROCEDURE `ERP_OLTP`.`mySP_Sample_Pentaho_Report` (v_estado VARCHAR(2) BEGIN ) SELECT * FROM CLIENTES WHERE ESTADO = v_estado; END$$ DELIMITER ; Altere a Query principal de seu relatório no Pentaho Report Designer, agora passando um parâmetro na SP conforme abaixo: CALL mySP_Sample_Pentaho_Report('PR'); 3/4 Criando Relatórios no Pentaho Report Designer Baseados em Store Procedures Usando estes conceitos básico podem ser resolvidos processos complexos realizados por SP. Conclusão Podemos aumentar performance do PRD com uso de Store Procedure e reaproveitar trabalhos desenvolvidos no banco de dados. Sobre a Ambiente Livre A Ambiente Livre Tecnologia e especialista em Pentaho Report Designer e na utilização do Pentaho BI para geração de negócios com soluções open source. fornecemos implantação, integração, suporte , consultoria e Treinamento em Pentaho BI 4/4