Relatórios tipo tabela de referência cruzada
Este tipo de relatório possui uma estrutura em tabela, o que significa que ele consiste de fileiras e colunas. Ao criar o design não é possível saber quantas linhas e colunas terá o relatório de saída. É por isso que um relatório não é estendido apenas para baixo (como nos tipos de relatório descritos anteriormente), mas também para os lados. Um exemplo típico de um relatório tipo tabela de referência cruzada é mostrado abaixo.
Vamos dar uma olhada nos elementos da tabela:
Na ilustração vemos uma tabela com duas linhas (fileiras) e quatro colunas, onde "a" e "b" são títulos de linhas, "1", "2", "3" e "4" são títulos de colunas, e "a1".."a4" e "b1".."b4" são células. Para criar um relatório deste tipo, precisamos de apenas um conjunto de dados (de uma consulta ou uma tabela) que possua três campos e contenha os seguintes valores:
a 1 a1
a 2 a2
a 3 a3
a 4 a4
b 1 b1
b 2 b2
b 3 b3
b 4 b4
Você pode ver que o primeiro campo contém a letra da linha, o segundo contém o número da coluna e o terceiro contém o conteúdo da célula na interseção da linha e coluna especificadas. Ao exbir o relatório, FastReport cria uma tabela na memória e a preenche com dados. Deste modo a tabela é estendida dinamicamente, criando linhas e colunas onde elas ainda não existirem.
Títulos podem estar presentes em mais de um nível, conforme é ilustrado aqui:
Neste exemplo, o número (ou índice) da coluna é composto, ou seja, ele é composto de dois valores. Este relatório é gerado dos seguintes dados:
a 10 1 a10.1
a 10 2 a10.2
a 20 1 a20.1
a 20 2 a20.2
b 10 1 b10.1
b 10 2 b10.2
b 20 1 b20.1
b 20 2 b20.2
Aqui o primeiro campo contém o índice da linha como no caso anterior, o segundo e terceiro campo contêm os índices das colunas e o último campo contém o valor da célula. Veja como FastReport constrói a tabela de memória ao usar dados de tabela de referência cruzada com títulos complexos:
Ao exibir o relatório desta tabela de memória, FastReport une as células de título que possuem o mesmo valor e estão localizadas no mesmo nível.
Aqui há um relatório de tabela de referência cruzada mais complexo, que incorpora totais intermediários e gerais:
Este relatório é derivado dos mesmos dados dos relatórios anteriores. Os valores nas células que são destacadas com a cor nova são calculados automaticamente, e não estão presentes no conjunto de dados original.