• Aucun résultat trouvé

Projeto SIPAC.

N/A
N/A
Protected

Academic year: 2021

Partager "Projeto SIPAC."

Copied!
15
0
0

Texte intégral

(1)

TUTORIAL PARA

CONSTRUÇÃO DE

RELATÓRIOS NO SIPAC -

SISTEMA DE INFORMAÇÃO

DA PRODUÇÃO

AGROPECUÁRIA CAPIXABA

Elaboração: Danilo de Oliveira

Bolsista PIBIT/FAPES/INCAPER

(2)

CONSTRUÇÃO DE UM RELATÓRIO COM

O PENTAHO REPORT DESIGNER

22 de agosto de 2016

(3)

Sumário

0.1 Introdução . . . 2

0.2 Criando um relatório . . . 3

0.2.1 Criando conexão com o Banco de Dados . . . 5

0.2.2 Criando consulta SQL utilizando o JDBC da ferramenta . . . 6

0.2.3 Criando e congurando grupos . . . 6

0.2.4 Adicionando dados atômicos . . . 8

0.3 Formatação do relatório . . . 9

0.4 Adicionando Parâmetros . . . 10

0.4.1 Adicionando menu de opções . . . 10

0.5 Dicas úteis . . . 11

0.5.1 Versão do Java e versão do Pentaho Report Designer . . . 11

0.5.2 Codicação dos caracteres dos relatórios (caracteres estranhos) . . 11

0.5.3 Colocando os parâmetros em Horizontal . . . 12

(4)

0.1 Introdução

Esse tutorial foi desenvolvido como uma das atividades do Projeto SIPAC do LEDS (Laboratório de Educação em Desenvolvimento de Soluções), com o objetivo de auxiliar os stakeholders externos do projeto a darem continuidade no desenvolvimento de novos relatórios na media que forem necessários. Especicamente, será explicado como é feito um relatório utilizando a ferramenta PRD (Pentaho Report Designer) em conjunto com o SGBD PostgreSQL.

Com esse tutorial você será capaz de:

• Criar um relatório que utiliza consulta SQL como entrada de dados; • Denir parâmetros como entrada e utilizá-los na consulta SQL; • Formatar os textos do relatório;

• Denir codicação do documento;

Além disso, terá uma parte com dicas úteis com conhecimentos adquiridos durante a construção do sistema.

(5)

Projeto SIPAC - Report Designer LEDS

0.2 Criando um relatório

Para criar um novo relatório, temos a opção de criar um realtório vazio ou criar um relatório utilizando templates prontos com o Repot Wizard. Nesse tutorial focaremos na criação de um relatório vazio, pois com esse conhecimento, o uso de um template cará trivial. Para criar o relatório, abra o software do PRD e, quando a tela inicial aparecer como na gura 1, clique em "New Report".

Figura 1: Tela inicial do Pentaho Report Designer

Após clicar em "New Report", uma tela como a gura 2 aparecerá. Ao lado direito, temos uma janela chamada Structure. Dentro de Structure temos alguns itens que estão em hierarquia, sendo que a base dessa hierarquia é o elemento Master Report que é todo o documento. Para saber os detalhes de cada elemento de Structure, consulte o capítulo The Structure Pane do material chamado Pentaho Report Designer User Guide [1].

O Objetivo do Group, ou grupo, é tornar possível a criação de hierarquias de grupos de dados. Podemos criar grupos internos a um outro grupo. Em uma analogia, um grupo mais externo poderia representar um país e um grupo mais interno poderia representar os estados do país.

Observe que temos apenas um grupo na gura 2. Podemos denir os dados, chamados de campos ou elds, que pertencerão a este grupo. Mas antes de denir os dados que pertencerão ao grupo, precisamos congurar o relatório para ler os dados do banco e Página 3 de 13

(6)

guardar os dados nos chamados campos ou elds. O nome dos campos ou elds é o mesmo nome da respectiva coluna pertencente à uma tabela no banco.

Figura 2: Tela para criação de um novo documento em branco

Para criar os campos ou elds (Obs.: Os Campos ou Fields são gerados automatica-mente, e nada mais são do que as colunas selecionadas na consulta SQL), necessitaremos de (i) criar uma conexão com o banco de dados e (ii) criar consultas SQL para utilizar os dados contidos no banco de dados como entrada.

Para acessar o banco de dados PostgreSQL, utilizaremos o JDBC (Java Database Connectivity) fornecido pelo PRD.

(7)

Projeto SIPAC - Report Designer LEDS

0.2.1 Criando conexão com o Banco de Dados

Figura 3: Janela para adicionar uma consulta SQL

Para criar uma cone-xão com o banco de da-dos, clique em Data (ao lado de Structure) e, em seguida, clique com o bo-tão direito em Data Sets e clique em JDBC. Uma janela como mostra na -gura 3, irá aparecer. Em seguida, clique no botão com o sinal de mais (+) no lado esquerdo da ja-nela. Após clicar no

bo-tão de mais, aparecerá uma janela como mostra a gura 4. Em Connection Type, selecione PostgreSQL. Preencha os demais campos de acordo com a conguração do banco de dados e clique em Ok.

Após criar a conexão com o Banco de Dados, é possível executar as consultas SQL para ler os dados no Banco de Dados.

Figura 4: Janela para adicionar uma conexão com o banco de dados

(8)

0.2.2 Criando consulta SQL utilizando o JDBC da ferramenta

Para criar uma consulta SQL que acessa ao banco de dados previamente congurado, clique em Data (ao lado de Structure) e, em seguida, clique com o botão direito em Data Sets e clique em JDBC. Abrirá uma janela como na gura 3.

Para criarmos uma consulta SQL, já com a janela do JDBC aberta, selecione o nome do servidor de Banco de Dados (na gura 3 o nome é IncaperServer). Em seguida, clique no ícone verde com um sinal de mais (+) localizado ao lado direito de "Available Queries"para criar uma nova Query (consulta). Selecione a Query nova e dena um nome para ela em Query Name. Com a Query selecionada, você pode escrever a consulta no campo Query (Obs.: Certique-se de que o Banco de Dados está selecionado no lado esquerdo da janela e que a Query nova, que será criada, está selecionada). Após terminar a criação da consulta SQL, clique em Ok.

0.2.3 Criando e congurando grupos

Figura 5: Exemplo de relatório com hierarquia de grupos de Ano e Mês

Com os JDBCs criados, po-demos editar o grupo existente para adicionar um campo. Es-ses campos são as colunas per-tencentes ao "SELECT"das con-sultas SQL. Lembre-se que po-demos criar uma hierarquia de grupos. Para exemplicar, cria-mos um JDBC com uma consulta SQL, na qual seleciona todas as colunas de uma tabela de produ-ção. Com os JDBCs criados, edi-tamos o grupo existente adicio-nando o campo "ano"e alterando o nome do grupo para Ano. Em seguida, criamos um novo grupo interno ao grupo Ano e setamos o campo "mes"para esse grupo e o nomeamos como Mes. Veja o resultado na gura 5. Para editar um grupo, clique com o botão direito em "group"e, em seguida, clique em "Edit group...". Uma janela será aberta, na qual você pode selecionar o campo que desejar e

(9)

Projeto SIPAC - Report Designer LEDS dení-lo como o campo pertencente ao grupo. Para criar um novo grupo, clique com o bo-tão direito em "group"e, em seguida, clique em "Add group...". Na janela para adicionar um grupo, você poderá denir um nome para o grupo e o campo pertencente. Uma vez que os grupos estão criados, podemos adicionar os campos ao grupo, clicando "Data"ao lado de "Structure"e, em seguida, selecionando o campo em Data Sets e arrastando-os para a área desejada no relatório, como mostra a gura 6 (Obs.: Algumas camadas po-dem estar invisíveis no documento. Para que elas apareçam, clique com o botão direito na camada em "Structure"e desmarque "Hide Element").

Você pode mudar a posição do grupo na hierarquia, clicando com o botão direito no grupo e, em seguida, clicando em "Send Forward"ou "Send Backwards".

Figura 6: Demonstração de arrastar e colar campos

(10)

0.2.4 Adicionando dados atômicos

Figura 7: Exemplo de campos de dados em Details

O último nível de nossa hierarquia (o mais interno) é um grupo que não possui subgrupos. Por isso, chamo-os de atômicos. Esse grupo é o único da hierar-quia que possui o campo "Details". Em "De-tails"podemos colocar os dados (Ex.: Dados de produção, área colhida, etc) e, em "Details He-ader", podemos denir uma "label"para descre-ver o que é cada co-luna de dados. Veja um exemplo na gura 7.

(11)

Projeto SIPAC - Report Designer LEDS

0.3 Formatação do relatório

Figura 8: Exemplo de formatação de texto

Para alterar o tamanho das letras, a fonte as cores e outros atributos de textos no relatórios, basta clicar no campo desejado e clicar em "Format". Em seguida, abrirá uma janela com diversas opções de formatação.

Os relatórios que foram de-senvolvidos utilizando o Wizard, ou até mesmo alguns relatórios já prontos, estão congurados para não permitirem formatação. Para alterar essa conguração para que permita a formatação, basta se-lecionar o campo desejado e, em "Atributes"(ao lado de "Style"),

alterar "style-format"e "data-format"para false. Veja um exemplo na gura 8.

No exemplo na gura 8, o campo area_plantada está selecionado. Esse campo é do tipo Inteiro. Podemos alterar o formato do número, adicionando mais casas decimais ou retirando casas decimais conforme a necessidade, clicando em format.

(12)

0.4 Adicionando Parâmetros

Figura 9: Adicionando parâmetros

Para adicionar parâmetros, clique em Data (ao lado de Structure). Em seguida, clique com o botão direito em "Parame-ter"e clique em "Add Parameter". Uma janela como na gura 9 deverá aparecer.

Em "Name"você poderá denir um nome para o parâmetro. Esse nome será utilizado para referenciar o parâmetro na consulta SQL. Por exemplo, você pode de-nir um parâmetro relativo ao mês com o nome "mes". Para referenciar esse parâ-metro dentro da consulta SQL, basta digi-tar o nome do parâmetro entre os símbolos ${ e o símbolo }, e nesse caso, caria da se-guinte forma: ${mes}.

0.4.1 Adicionando menu de opções

Para adicionar um menu com opções, abra a janela como na gura 9. você pode popular essas opções a partir de uma consulta SQL. O retorno dessa consulta SQL servirá para popular o menu de opções.

Em "Query", você pode denir a consulta SQL que vai popular o menu de opções. E em "Value", você pode denir qual será o valor de retorno. Você poderá escolher valores diferentes para "Query"e "Value", caso no seu SELECT tenha sido selecionada mais de uma coluna em uma tabela do banco de dados.

(13)

Projeto SIPAC - Report Designer LEDS

0.5 Dicas úteis

Durante os desenvolvimentos dos relatórios, passamos por alguns problemas, na qual deu muito trabalho para encontrar as soluções. Abaixo você encontra alguns "pulos do gato"que poderão lhe ajudar no desenvolvimento dos novos relatórios.

0.5.1 Versão do Java e versão do Pentaho Report Designer

Na fase de estudo e instalação da ferramenta, passamos por diversos problemas, pois a mesma apresentava alguns erros. As congurações ideias que encontramos para um bom funcionamento da ferramenta PRD foram:

• Java SE na versão 1.8;

• Pentaho Report Designer na versão 6.1;

0.5.2 Codicação dos caracteres dos relatórios (caracteres

estra-nhos)

Figura 10: Conserto de erro de codicação

Por padrão, o PRD já vem congurado com a codicação UTF-8. Porém, essa co-dicação apresenta erros em alguns forma-tos de saída dos relatórios. Para solucionar esse problema, bastou alterar a codicação de UTF-8 para ISO-8859-1.

Para editar a codicação do arquivo, abra o PRD, abra o arquivo, clique em "File"e depois em "Conguration...". Em seguida, selecione "output-pageable-pdf"no lado esquerdo da janela, marque a opção "Encoding"no lado direito, apague UTF-8 e coloque ISO-8859-1, como mostra a gura 10. Em seguida clique em Ok.

(14)

0.5.3 Colocando os parâmetros em Horizontal

Figura 11: Conserto de erro de codicação

Por padrão, os parâmetros são apresen-tados na vertical e isso atrapalha a visua-lização dos relatórios no BI Server. Para solucionar esse problema, precisamos con-gurar no PRD para que os parâmetros apareçam na horizontal. Porém, a con-guração surtirá efeito apenas no BI Server. Para que os parâmetros apareçam na horizontal, selecione o elemento "Master Report"em Structure. Na janela abaixo, clique na aba Atributes. Vá até a parte "parameter"e, em "parameter-layout", se-lecione horizontal. Na gura 9, temos um exemplo dessa conguração.

(15)

Referências Bibliográcas

[1] Pentaho Report Designer User Guide, volume 2011. Pentaho, 2011.

Figure

Figura 1: Tela inicial do Pentaho Report Designer
Figura 2: Tela para criação de um novo documento em branco
Figura 4: Janela para adicionar uma conexão com o banco de dados
Figura 5: Exemplo de relatório com hierarquia de grupos de Ano e Mês
+7

Références

Documents relatifs

- vocabulaire marin de base : plage, vent, arbre, bleu, océan, voile, large, infini, horizon, épuisettes, crabes, crevettes, mouettes,. pêcheur, filet, marin, rouget, rochers,

[r]

(hibridismo: covid + idiota, cf. inglês, francês covidiot, espanhol, italiano covidiota), 1) ‘(pessoa) que nega a existência ou menospreza a gravidade da co- vid-19, desrespeita

[r]

* Pour tester le programme, il suffit de supprimer

[r]

The study focuses on phonological, orthographical, lexical, syntactical, semantic, pragmatic and tex- tual aspects and reveals the overwhelming influence of French, English and

[r]