Este tópico descreve como usar o FineReport para conectar-se a um cluster do AnalyticDB for MySQL e gerenciar relatórios.
Pré-requisitos
Você conhece a compatibilidade entre o FineReport e o AnalyticDB for MySQL. Para mais informações, consulte Compatibility overview.
MySQL Connector/J instalado.
-
FineReport instalado. Uma nova instalação do FineReport requer um servidor MySQL, como o ApsaraDB RDS for MySQL, para armazenar metadados. O FineReport oferece dois métodos para criar uma conexão de dados:
Método 1: Conexão no sistema de decisão de dados. Para mais informações, consulte Conectar a um banco de dados usando JDBC.
Método 2: Conexão no designer. Para MySQL 5.x, consulte Conexão de dados MySQL. Para MySQL 8.x, consulte Plug-in de Conexão de Dados MySQL 8.
Para conectar-se a um cluster do AnalyticDB for MySQL pela internet, consulte Apply for and release a public endpoint.
Conectar ao AnalyticDB for MySQL
Inicie o FineReport. Na barra de menus, escolha .
-
Na página Define Data Connection, configure os parâmetros de conexão.

Parâmetro
Descrição
Database
Selecione Insert.
Driver
Selecione com.mysql.jdbc.Driver.
Basic
String de conexão do cluster do AnalyticDB for MySQL. Formato:
jdbc:mysql://hostname:port.-
hostname: endpoint público ou endpoint da Virtual Private Cloud (VPC) do cluster. -
port: número da porta. O padrão é 3306.
Database Account
Conta do cluster do AnalyticDB for MySQL. Tipos de conta disponíveis:
-
conta privilegiada
-
conta padrão
Password
Senha da conta.
-
Após configurar os parâmetros, clique em Test Connection. Se o teste for bem-sucedido, clique em OK para conectar-se ao cluster do AnalyticDB for MySQL.
Adicionar um conjunto de dados
Após conectar-se ao AnalyticDB for MySQL, crie um conjunto de dados. Esse conjunto usa consultas SQL para recuperar dados do banco, exibindo-os como uma tabela bidimensional no painel de gerenciamento de conjuntos de dados.
No painel de gerenciamento de conjuntos de dados, selecione a aba Template Dataset e clique em + na parte superior.

Na lista suspensa, selecione Expand.

Na caixa de diálogo DB Query, selecione a fonte de dados do cluster AnalyticDB for MySQL e a tabela de destino. Insira uma consulta SQL para criar um novo conjunto de dados chamado ds1. Por exemplo, a consulta
select * from demo_salesrecupera todos os dados da tabelademo_sales.
Use uma consulta agregada para criar outro conjunto de dados. Por exemplo, crie um conjunto chamado
ds2e execute a consultaSELECT store_name, SUM(sales_amount) AS total_sales FROM demo_sales GROUP BY store_namepara obter o total de vendas por loja.Clique em OK. Os dados recuperados aparecem no painel de gerenciamento de conjuntos de dados.
Exemplo
Este exemplo demonstra como criar um relatório com uma tabela e um gráfico de colunas. O relatório exibe as vendas máximas de contratos e o volume total de vendas, agrupados por tipo de product, tipo de contrato e tipo de pagamento. A figura a seguir mostra o resultado final:

Baixe o arquivo de dados de amostra "Contract Sales Summary": demo_contract.
-
Crie uma tabela no AnalyticDB for MySQL.
Use uma coluna com distribuição uniforme de dados como chave de distribuição e uma coluna temporal como chave de partição. Para mais informações, consulte Table schema design.
-
Nos dados de amostra, os valores da coluna
contract_idtêm distribuição aleatória. Use essa coluna como chave de distribuição. A instrução DDL a seguir cria a tabela: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'
-
Após criar a tabela, use o Kettle para importar o arquivo Excel baixado para o AnalyticDB for MySQL.
Para mais informações sobre o uso do Kettle, consulte Import data to Data Warehouse Edition by using Kettle.
Ao concluir a importação, execute
select count(*) from demo_contracte verifique se há 668 registros.
Use os dados importados para gerar o relatório de amostra:
-
Crie dois conjuntos de dados no FineReport: d1 e d2. Eles recuperarão as vendas máximas de contratos por tipo de pagamento e o volume total de vendas, agrupados por tipo de product e tipo de contrato.
-
O conjunto de dados
d1agrupa os dados por tipo de product, tipo de contrato e tipo de pagamento, recuperando o volume máximo de vendas para cada grupo: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 O conjunto de dados
d2agrupa os dados por tipo de product e tipo de contrato para calcular o volume total de vendas de todos os tipos de pagamento:

-
-
Desenhe a tabela:
Título: mescle as células A1 a D2, insira o título "Contract Sales Overview" e formate o texto em negrito, centralizado e com fonte de 15 pontos.
Célula de cabeçalho com barra: para exibir três campos de cabeçalho separados por barras em uma única célula mesclada, mescle as células A3 e B3. Clique com o botão direito na célula mesclada e escolha . Na caixa de diálogo Slope Line, insira o texto
Payment Type | Contract Type | Product Type. Adicione espaços conforme necessário para ajustar a posição do texto.

-
Vincule os dados:
Arraste as colunas de dados do conjunto de dados para as células correspondentes.
Para calcular o volume total de vendas de cada product, a célula C5 deve somar os valores da célula C4. Selecione a célula C5, clique em Insert Formula na barra de atalhos e insira a fórmula
SUM(C4)no editor de fórmulas.Da mesma forma, para calcular o volume total de vendas de todos os products, insira a fórmula
SUM(D4)na célula D5.
-
Configure as propriedades da célula:
Selecione a célula C3. Para expandir os dados horizontalmente, no painel de propriedades, escolha e defina Expand Direction como Preview.
A célula C4 não precisa de expansão, pois seu valor é definido exclusivamente pela expansão das células A4, B4 e C3. Defina a direção de expansão como nenhuma. Faça o mesmo para as células C5 e D5.

-
Vincule vários conjuntos de dados: quando um relatório usa dados de diferentes conjuntos, vincule-os adicionando um filtro de dados.
Este relatório utiliza dados dos conjuntos ds1 e ds2, que compartilham os campos
product_typeecontract_type. Use esses campos comuns para vincular os conjuntos: clique duas vezes na célula D4 para abrir a caixa de diálogo Data Column. Na aba Filter, adicione uma condição para vincular os camposproduct_typeecontract_typede ds1 e ds2.

-
Desenhe o gráfico:
Mescle as células A7 a D15. Na barra de menus, escolha . Selecione e clique em OK.

-
Selecione o gráfico. No painel de propriedades, escolha para configurar os dados. Defina Data Source como Cell Data, Category como =B4, Series como =C3 e Value como =C4.
NotaInclua o sinal de igual (=) ao definir Category, Series e Value. Caso contrário, o FineReport tratará a referência da célula como uma string.

Visualize o relatório: salve o relatório antes de visualizá-lo. Clique em Save. Em seguida, clique em Horizontal e selecione Pagination Preview para abri-lo no navegador.
Documentos relacionados
Diferenças entre FineReport e FineBI: Diferenças entre FineReport e FineBI.
O FineReport e o FineBI possuem algumas operações semelhantes. Para perguntas frequentes sobre o FineBI, consulte FAQ de uso do FineBI.
FAQ do FineReport para novos usuários: FAQ do Designer.
Para mais informações sobre design de relatórios no FineReport, consulte Trilha de aprendizado de aplicação de relatórios.