Conecte o FineReport a um cluster do AnalyticDB for MySQL para consultar dados e criar relatórios diretamente no cluster.
Pré-requisitos
Antes de começar, verifique se você:
Revisou a compatibilidade entre o FineReport e o AnalyticDB for MySQL. Consulte Visão geral da compatibilidade.
Instalou o MySQL Connector/J.
-
Instalou o FineReport. Se esta for a primeira instalação do FineReport, será necessário um servidor MySQL (como o ApsaraDB RDS for MySQL) para importar os metadados do FineReport. Use um dos métodos a seguir para configurar a conexão:
Designer do FineReport: Para MySQL 5.x, consulte [[Platform] Connect to MySQL](https://help.fanruan.com/finereport/doc-view-2560.html?source=1). Para MySQL 8.x, consulte [[Platform] Connect to MySQL](https://help.fanruan.com/finereport/doc-view-3860.html?source=4).
Sistema de tomada de decisão baseado em dados: Consulte [[Designer] Connect to a database](https://help.fanruan.com/finereport/doc-view-101.html).
(Opcional) Solicitou um endpoint público para conexões pela internet. Consulte Solicitar ou liberar um endpoint público.
Conectar ao AnalyticDB for MySQL
Parâmetros de conexão
|
Parâmetro |
Valor |
|
Database |
MySQL |
|
Driver |
|
|
URL |
|
|
Username |
Conta privilegiada ou conta padrão |
|
Password |
Senha da conta |
Em que:
<hostname>: o endpoint público ou da Virtual Private Cloud (VPC) do cluster.<port>: a porta do endpoint do cluster. Padrão:3306.
Etapas
Inicie o FineReport. Na barra de menu superior, selecione Server > Define Data Connection.
-
Na caixa de diálogo Define Data Connection, defina os parâmetros mostrados na tabela acima.

Clique em Test Connection. Após a aprovação do teste, clique em OK.
Agora você está conectado ao cluster do AnalyticDB for MySQL. Em seguida, crie conjuntos de dados para consultar as informações dos relatórios.
Criar um conjunto de dados
Um conjunto de dados contém informações recuperadas do cluster por meio de instruções SQL. O FineReport exibe esses conjuntos como tabelas bidimensionais no painel de gerenciamento de conjuntos de dados.
-
Clique na aba Template Dataset e, em seguida, clique no ícone + no canto superior esquerdo.

-
Selecione DB Query na lista suspensa.

-
Na caixa de diálogo DB Query, defina Name como
ds1. Selecione o cluster do AnalyticDB for MySQL na lista suspensa do canto superior esquerdo. Clique em uma tabela na lista à esquerda e insira a instrução SQL no editor à direita. Por exemplo, para recuperar todos os dados dedemo_sales:select * from demo_sales
-
Para criar um conjunto de dados agregado, adicione outro conjunto chamado
ds2. Por exemplo, para obter o total de vendas por loja:SELECT <Store name>, SUM(Revenue) AS <Total sales volume> FROM demo_sales GROUP BY <Store name> Clique em OK. Os dados recuperados aparecerão no painel de gerenciamento de conjuntos de dados.
Criar um relatório
Esta seção apresenta um exemplo completo: um relatório com tabelas e gráficos de colunas exibindo os volumes máximos e totais de vendas por tipo de produto, tipo de pagamento e tipo de contrato.

Configurar os dados de demonstração
Baixe a tabela demo_contract.
-
Crie a tabela
demo_contractno cluster do AnalyticDB for MySQL. Use uma coluna com valores distribuídos uniformemente como chave de distribuição e uma coluna de tempo como chave de partição. Consulte Design de esquema de tabela para obter orientações. Neste exemplo,contract_idé usado como chave de distribuição porque seus valores são distribuídos aleatoriamente:Create Table `demo_contract` ( `contract_id` varchar, `customer_id` varchar, `contract_type` varchar, `amount` bigint, `payment_type` varchar, `register_time` date, `purchase_amount` int, `create_time` timestamp, `product_type` smallint, `paid` tinyint, primary key (`contract_id`) ) DISTRIBUTED BY HASH(`contract_id`) INDEX_ALL='Y' STORAGE_POLICY='COLD' -
Importe os dados do arquivo XLSX para o AnalyticDB for MySQL usando o Kettle. Consulte Usar o Kettle para importar dados para a Data Warehouse Edition. Após a importação, execute o comando abaixo para verificar os dados:
SELECT count(*) FROM demo_contractA consulta retorna 668 entradas.
Importar conjuntos de dados para o FineReport
Crie dois conjuntos de dados no FineReport utilizando os dados importados.
-
Crie o conjunto de dados
d1para obter o volume máximo de vendas por tipo de produto, tipo de contrato e tipo de pagamento:select product_type, payment_type, contract_type, max(purchase_amount) as max_amount from demo_contract group by product_type, payment_type, contract_type having max_amount>0 Crie o conjunto de dados
d2para obter o total de vendas por tipo de produto e tipo de contrato: Categorize os dados por tipo de produto e tipo de contrato e calcule o volume total de vendas em todos os tipos de pagamento.

Projetar a tabela
Título: Mescle as células A1 a D2. Insira
Contract Sales Overviewna célula mesclada, defina o tamanho da fonte como 15 e aplique negrito e centralização.-
Cabeçalho inclinado: Mescle as células A3 e B3. Clique com o botão direito na célula mesclada e selecione Cell Element > Insert Slash. Na caixa de diálogo Slope Line, insira:
Payment Type | Contract Type | Product TypeAdicione espaços para ajustar as posições do texto.


-
Fórmulas: Arraste as colunas de dados com distribuição desigual de valores para as células correspondentes. Em seguida, adicione as seguintes fórmulas:
Clique na célula C5. Clique no ícone Insert Formula na barra de atalhos. Na caixa de diálogo Formula Definition, insira
SUM(C4)para somar o total de vendas por produto.Clique na célula D5 e adicione
SUM(D4)para somar o total de vendas de todos os produtos.

-
Expansion directions: Controle como os dados se expandem pelas células.
Clique na célula C3. No painel, clique em Cell Attributes > aba Expand. Na seção Basic, defina Expand Direction como H para que os dados de tipo de produto se expandam horizontalmente.
Defina Expand Direction como No Expansion para as células C4, C5 e D5, pois essas células contêm valores exclusivos vinculados a combinações específicas.

Associação de conjuntos de dados: Quando vários conjuntos de dados aparecem no mesmo relatório, vincule-os usando campos compartilhados. Os conjuntos
d1ed2contêm ambosproduct_typeecontract_type, portanto, use esses campos para associar os dois conjuntos. Clique duas vezes na célula D4. Na caixa de diálogo Data Column, clique na aba Filter e adicione uma condição comum para vincularproduct_typeecontract_typeentred1ed2.

Adicionar um gráfico de colunas
-
Mescle as células A7 a D15. Na barra de menu superior, selecione Insert > Cell Element > Insert Chart. Selecione Column Chart na lista Chart Type, escolha Column Chart na lista à direita e clique em OK.

-
Clique no gráfico. No painel, clique em Cell Element. Na aba Data, configure o seguinte:
Data Source: Cell Data
Category:
=B4Series:
=C3Value:
=C4
NotaPrefixe cada referência de célula com
=. Sem o=, o FineReport trata o valor como uma string em vez de uma referência de célula.
Visualizar o relatório
Salve o relatório primeiro, depois clique em Preview e selecione Pagination Preview na lista suspensa. O relatório será aberto no navegador.