Como criar um relatório complexo com Advanced Matrix no FastReport .NET

2022-05-11

Este artigo é uma continuação anterior, em que consideramos a criação de um relatório complexo. O relatório criado nesse artigo foi uma das fontes de inspiração para a nova instalação AdvancedMatrix.

O relatório no artigo anterior consistiu em três seções:

1) Estatísticas por ano;
2) estatísticas trimestrais;
3) estatísticas por mês.

O relatório complexo de três matrizes e intervalos de matriz são adicionados para maior clareza

Cada uma das seções foi implementada com uma matriz separada, o que teve que ser feito devido às limitações do MatrixObject padrão. Na nova versão do FastReport .NET, adicionamos uma versão atualizada desse objeto chamado AdvancedMatrix. Este permite que você implemente todo o relatório em uma única matriz. Considere como fazer isso.

Adicione um objeto AdvancedMatrix à banda de dados vazia:

A matriz aprimorada na banda de dados

Lembre-se de como são os dados que usamos:

Janela de dados

Para a matriz mais simples, precisamos arrastar três campos: country_name, fruit_type e amount.

É assim que a matrix se parece agora:

A matriz no designer e na visualização

A nova matriz permite alterar os cálculos nas células. Nesse caso, precisamos do valor, mas podemos substituí-lo por algo da lista a seguir:

Funções do cálculo

Vamos refazer a matriz. Precisamos que os campos country_name que fruit_type foram utilizados no agrupamento: o relatório deve agrupar a lista de frutas por país e deve haver uma coluna para cada ano individual:

A matriz no designer e visualização, é adicionado o campo "year"

Neste ponto, vamos além dos recursos do MatrixObject comum. Adicione campos adicionais à matriz year e quarter, e também substituímos os valores nulos por zeros:

Os campos ano e trimestre foram adicionados à matriz, dividindo por trimestre

O que anteriormente tinha que ser feito por duas matrizes agora pode ser realizado com apenas uma. Agora temos um detalhamento por ano e por trimestre. Vamos mais longe.

É adicionada a repartição por mês

Neste ponto, temos uma matriz que reflete todos os dados necessários. Para maior legibilidade, podemos alterar a exibição da matriz e dos dados.

Primeiro, combine as células onde apenas o texto estará localizado:

Várias células são selecionadas, a opção "Mesclar células"é destacada no menu de contexto da célula

Com a exibição de dados, um novo menu de edição de cabeçalho pode ajudar:

Editor de propriedades de cabeçalho aberto

E agora a matriz parece assim:

Pré-visualização da matriz, são adicionadas legendas de texto

Finalmente, podemos comparar a velocidade de preparação do relatório no caso em que ele consiste em três objetos de matriz comuns e quando consiste em uma matriz grande.

O teste foi realizado em um computador com AMD Ryzen 5 3600 e 16GB de RAM. A tabela de dados exibe 5.000 registros.

Tentativa

3 matrizes MatrixObject

1 AdvancedMatrix

#1

906 ms

656 ms

#2

828 ms

625 ms

#3

937 ms

640 ms

#4

875 ms

641 ms

#5

891 ms

672 ms

#6

922 ms

656 ms

Média:

893.3 ms

648.3 ms

 

Como você pode ver, o tempo de preparação cai em média ~27%, o que pode economizar muito tempo em relatórios com muitos dados.

Neste artigo, mostramos como recriar com precisão um relatório de um artigo anterior. A matriz aprimorada permite a implementação de várias funções que seriam úteis nela – por exemplo, a classificação de filtro TopN, que permite selecionar os 5 registros com os valores calculados mais altos.

Você pode aprender sobre todas as características deste objeto em nossa documentação.

.NET .NET FastReport FastReport Matrix Matrix
26 de abril de 2023

How to use RFID tags in FastReport .NET

The new page object is an RFID tag in FastReport.NET allows users to use the library to create labels or maps without third-party programs
20 de abril de 2023

How to update FastReport Online Designer to the latest version

Step-by-step instructions for updating FastReport Online Designer to the latest version via the client panel.
14 de março de 2023

The Future of Report Generation with Blazor WebAssembly

Step-by-step instructions for creating a demo application on .NET 6 and 7 directly in the browser using Blazor WebAssembly in FastReport .NET.
Fast Reports
  • 800-985-8986 (English, US)
  • +31 97 01025-8466 (English, EU)
  • +49 30 56837-3928 (German, DE)
  • +55 19 98147-8148 (Portuguese, BR)
  • info@fast-report.com
  • 66 Canal Center Plaza, Ste 505, Alexandria, VA 22314

© 1998-2025 Fast Reports Inc.