Skip to main content

Exemplos de relatórios

As bandas de grupos são informações específicas de um determinado assunto de um relatório que são agrupadas. Imagine que é preciso fazer um relatório mostrando a soma das vendas por itens em um determinado período.

O que é necessário fazer para que apareçam os totalizadores em um relatório?

É preciso agrupar e somar o valor total de cada item. Para exemplificar veja a imagem abaixo.

Exemplos de relatórios

Vamos partir do exemplo de um relatório com as seguintes informações:

Fonte: listagem de empenhos;

Origem: Padrão;

Natureza: Geral;

Colunas: Nome (Credor) e valor (Empenho).

Exemplos de relatórios

Realizando o download e abrindo no Jaspersoft, as três informações marcadas na coluna são mostradas em Fields.

Exemplos de relatórios

As informações _Column Heade_r e Page Footer foram apagadas deixando apenas a banda Detail onde de fato será impresso os dados_ _do relatório. Clique e arraste um Text Field para a banda detail, logo, clique duas vezes no campo inserido e abrirá uma nova janela. Apague o que vem escrito na caixa de texto e selecione o campo desejado, neste exemplo vamos selecionar o nome do credor. Para finalizar aperte o botão Finish.

Exemplos de relatórios

Copie e cole a caixa de texto, de duplo clique e selecione o valor. Com a alteração salva será enviado para o relatório e será executado. Perceba que as informações dos dois campos o relatório mostrou corretamente.

Exemplos de relatórios

DICA!

Para diminuir o tamanho da banda, dê duplo clique que logo a ferramenta ajusta as informações inseridas na tela.

Agora, agrupe as informações para que apareçam o nome e todos os valores dos credores de uma vez só. Para agrupá-los siga os seguintes passos:

Crie um novo grupo em Report > Create Band (botão direito do mouse), insira um nome para o grupo e será informado que esse grupo será gerido pela informação credornome, pressione o botão _Next. Na próxima tela, duas opções são apresentadas: _Add the group heade_r (Adicionar cabeçalho do grupo) e Add the group footer (Adicionar rodapé do grupo), marque a primeira opção.

Agora, leve o nome do credor para a banda criada anteriormente G_credor e deixe o valor abaixo. Salve e realize o _download _no Gerenciador de relatórios.

Exemplos de relatórios

Tem um detalhe super importante que acontece no Jaspersoft que, ele não traz todas as informações como deveria, pois ele tem uma particularidade que só agrupa informações caso estejam cadastrados um após o outro, por isso, precisa ter registros iguais para ele agrupar. Porém, fica muito complicado quando o relatório está bagunçado.

Exemplos de relatórios

Portanto, obrigatoriamente é necessário ordenar todos os os valores com seus respectivos credores, isso se dá de algumas maneiras: pelo Gerenciador de relatórios Configuração da fonte > Ordenação marcando as opções desejadas.

Exemplos de relatórios

Por meio do próprio Jaspersoft através do botão DataSet.

Exemplos de relatórios

Ou ainda clicando com o botão direito do mouse em Report > Dataset and Query.

Exemplos de relatórios

Na janela de configurações, na guia Sorting > Add é possível pegar uma coluna do relatório para fazer a ordenação. Perceba como o relatório é apresentado diferente, está trazendo todos os valores de um credor e logo, passa para o próximo.

Exemplos de relatórios

Agora vamos colocar um totalizador?

Para acrescentar essa opção clique no botão direito da banda Group Footer > Add Footer band. Acrescente um Text Field ou copie e cole uma caixa de texto da tela e escreva Total. Logo, crie uma variável clicando com o botão direito do mouse em Variables > Create Variable. Insira um nome e realize a configuração da variável informando qual o tipo. Como será armazenado um valor numérico será java.math.BigDecimal. no campo Calculation informe o tipo de cálculo que será realizado, neste exemplo será utilizado a soma e na expressão é necessário informar qual o campo será utilizado para realizar a soma. Já no valor inicial (Initial Value Expression) recomenda-se deixar zerado (BigDecimal.ZERO). Increment type deixe em none _que significa que não está colocando nenhuma regra, significando que cada valor que estiver cadastrado ele vai somar. Em _Reset type informe o grupo criado anteriormente, isso vai fazer com que a cada vez que trocar o credor ele vai começar a contar novamente. No campo de texto ao lado do total de duplo clique para informar a variável que será impressa.

Exemplos de relatórios

DICA!

Se não souber qual configuração usar na variável a ser criada, clique na opção que deseja que a soma seja a partir da variável disponibilizada em Fields.

Exemplos de relatórios

Já identificamos que o totalizador está funcionando como foi mostrado anteriormente. Agora, se colocarmos o totalizador ao lado do nome sem mexer em nenhuma configuração, a ferramenta irá calcular os resultados como apresentados anteriormente?

A resposta é não, perceba que o resultado aparece zerado. Isso acontece porque o Jasper tem todo um fluxo de execução que ele trabalha para exibir as informações, sendo assim, quando se está falando de edição de grupos ele imprime primeiro o cabeçalho, após emite todos os valores da banda Detail e só após imprime o rodapé, ou seja, se ele está imprimindo o cabeçalho e depois os valores quer dizer que a variável do totalizador não teve tempo de somar os valores, pois ela apenas foi jogada para uma banda superior ao que ela foi criada. Por isso que a soma aparece zerada, ou seja, está imprimindo no tempo errado.

Exemplos de relatórios

Mas é possível controlar essa situação da seguinte maneira. Clique na caixa de texto do totalizador, logo, em Text Field tem uma propriedade chamada Evaluation Time, essa propriedade informa que o resultado será impresso depois de um determinado evento do relatório e aqui são disponibilizados os grupos criados. Neste caso temos apenas um grupo e é esse grupo que será selecionado. Estamos informando que o resultado será mostrado ao lado do nome do credor, porém será impresso depois de calcular o grupo do credor. Perceba que agora o totalizador mostra o resultado.

Exemplos de relatórios