Cette rubrique explique comment utiliser FineReport pour se connecter à un cluster AnalyticDB for MySQL et gérer vos rapports.
Prérequis
Vous connaissez la compatibilité entre FineReport et AnalyticDB for MySQL. Pour plus d'informations, consultez la section Aperçu de la compatibilité.
MySQL Connector/J est installé.
-
FineReport est installé. Une nouvelle installation de FineReport nécessite un serveur MySQL, tel qu'ApsaraDB RDS for MySQL, pour stocker les métadonnées. FineReport propose deux méthodes pour créer une connexion de données :
Méthode 1 : Connexion via le système de prise de décision basée sur les données. Pour plus d'informations, consultez la page Connexion à une base de données à l'aide de JDBC.
Méthode 2 : Connexion via le concepteur. Pour MySQL 5.x, consultez la page Connexion aux données MySQL. Pour MySQL 8.x, consultez la page Plug-in de connexion aux données MySQL 8.
Pour vous connecter à un cluster AnalyticDB for MySQL via Internet, consultez la section Demander et libérer un endpoint public.
Se connecter à AnalyticDB for MySQL
Démarrez FineReport. Dans la barre de menus, choisissez .
-
Sur la page Define Data Connection, configurez les paramètres de connexion.

Paramètre
Description
Database
Sélectionnez Insert.
Pilote
Sélectionnez com.mysql.jdbc.Driver.
Basic
La chaîne de connexion du cluster AnalyticDB for MySQL. Le format est
jdbc:mysql://hostname:port.-
hostname: L'endpoint public ou l'endpoint VPC (Virtual Private Cloud) du cluster. -
port: Le numéro de port. La valeur par défaut est 3306.
Database Account
Le compte de votre cluster AnalyticDB for MySQL. Vous pouvez utiliser l'un des types de comptes suivants :
-
compte privilégié
-
compte standard
Password
Le mot de passe du compte.
-
Une fois les paramètres configurés, cliquez sur Test Connection. Si le test réussit, cliquez sur OK pour vous connecter au cluster AnalyticDB for MySQL.
Ajouter un jeu de données
Après vous être connecté à AnalyticDB for MySQL, créez un jeu de données. Un jeu de données utilise des requêtes SQL pour extraire les données de la base de données, qui sont ensuite affichées sous forme de tableau bidimensionnel dans le panneau de gestion des jeux de données.
Dans le panneau de gestion des jeux de données, sélectionnez l'onglet Template Dataset et cliquez sur + en haut.

Dans la liste déroulante, sélectionnez Expand.

Dans la boîte de dialogue DB Query, sélectionnez la source de données pour votre cluster AnalyticDB for MySQL et la table cible. Saisissez une requête SQL pour créer un nouveau jeu de données nommé ds1. Par exemple, la requête
select * from demo_salesrécupère toutes les données de la tabledemo_sales.
Utilisez une requête d'agrégation pour créer un nouveau jeu de données. Par exemple, créez un jeu de données nommé
ds2et exécutez la requêteSELECT store_name, SUM(sales_amount) AS total_sales FROM demo_sales GROUP BY store_namepour récupérer le total des ventes pour chaque magasin.Cliquez sur OK. Les données récupérées s'affichent dans le panneau de gestion des jeux de données.
Exemple
Cet exemple montre comment créer un rapport contenant un tableau et un diagramme en colonnes. Le rapport affiche le montant maximal des ventes par contrat et le volume total des ventes, regroupés par type de produit, type de contrat et mode de paiement. Le rapport final est illustré dans la figure suivante :

Téléchargez le fichier d'exemple de données « Contract Sales Summary » : demo_contract.
-
Créez une table dans AnalyticDB for MySQL.
Utilisez une colonne avec une distribution de données uniforme comme clé de distribution et une colonne temporelle comme clé de partition. Pour plus d'informations, consultez la section Conception du schéma de table.
-
Dans les données d'exemple, les valeurs de la colonne
contract_idsont distribuées de manière aléatoire. Utilisez cette colonne comme clé de distribution. L'instruction DDL suivante permet de créer la table :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'
-
Après avoir créé la table, utilisez Kettle pour importer le fichier Excel téléchargé dans AnalyticDB for MySQL.
Pour plus d'informations sur l'utilisation de Kettle, consultez la section Importer des données vers Data Warehouse Edition à l'aide de Kettle.
Une fois l'importation terminée, exécutez
select count(*) from demo_contract; vous constaterez qu'il y a 668 enregistrements.
Utilisez les données importées pour générer le rapport d'exemple :
-
Créez deux jeux de données dans FineReport, d1 et d2. Ces jeux de données récupéreront le montant maximal des ventes par contrat pour chaque mode de paiement et le volume total des ventes, regroupés par type de produit et type de contrat.
-
Le jeu de données
d1regroupe les données par type de produit, type de contrat et mode de paiement, et récupère le volume de ventes maximal pour chaque groupe :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 Le jeu de données
d2regroupe les données par type de produit et type de contrat afin de calculer le volume total des ventes pour tous les modes de paiement :

-
-
Concevez le tableau :
Titre : Fusionnez les cellules A1 à D2, saisissez le titre du rapport « Contract Sales Overview » et formatez le texte en gras, centré, avec une police de taille 15.
Cellule d'en-tête barrée : Pour afficher trois champs d'en-tête séparés par des lignes obliques dans une seule cellule fusionnée, fusionnez les cellules A3 et B3. Cliquez avec le bouton droit sur la cellule fusionnée et choisissez . Dans la boîte de dialogue Slope Line, saisissez le texte
Payment Type | Contract Type | Product Type. Ajoutez des espaces si nécessaire pour ajuster la position du texte.

-
Lieez les données :
Faites glisser les colonnes de données du jeu de données vers les cellules correspondantes.
Pour calculer le volume total des ventes pour chaque produit, la cellule C5 doit additionner les valeurs de la cellule C4. Pour ce faire, sélectionnez la cellule C5, cliquez sur Insert Formula dans la barre de raccourcis et saisissez la formule
SUM(C4)dans l'éditeur de formules.De même, pour calculer le volume total des ventes pour tous les produits, insérez la formule
SUM(D4)dans la cellule D5.
-
Configurez les propriétés des cellules :
Sélectionnez la cellule C3. Pour étendre les données horizontalement, dans le panneau des propriétés, choisissez et définissez Expand Direction sur Preview.
La cellule C4 n'a pas besoin d'être étendue car sa valeur est définie de manière unique par l'extension des cellules A4, B4 et C3. Définissez sa direction d'extension sur aucune. La direction d'extension des cellules C5 et D5 doit également être définie sur aucune.

-
Liez plusieurs jeux de données : Lorsqu'un rapport utilise des données provenant de différents jeux de données, vous devez les lier en ajoutant un filtre de données.
Ce rapport utilise les données de deux jeux de données, ds1 et ds2, qui partagent les champs
product_typeetcontract_type. Utilisez ces champs communs pour lier les jeux de données en double-cliquant sur la cellule D4 pour ouvrir la boîte de dialogue Data Column. Dans l'onglet Filter, ajoutez une condition pour lier les champsproduct_typeetcontract_typede ds1 et ds2.

-
Concevez le graphique :
Fusionnez les cellules A7 à D15. Dans la barre de menus, choisissez . Sélectionnez et cliquez sur OK.

-
Sélectionnez le graphique. Dans le panneau des propriétés, choisissez pour configurer ses données. Définissez Data Source sur Cell Data, Category sur =B4, Series sur =C3 et Value sur =C4.
RemarqueVous devez inclure le signe égal (=) lors de la définition de Category, Series et Value. Sinon, FineReport traite la référence de cellule comme une chaîne de caractères.

Prévisualisez le rapport : Vous devez enregistrer le rapport avant de pouvoir le prévisualiser. Cliquez sur Save. Ensuite, cliquez sur Horizontal et sélectionnez Pagination Preview pour l'afficher dans votre navigateur.
Documents connexes
Différences entre FineReport et FineBI : Différences entre FineReport et FineBI.
FineReport et FineBI partagent certaines opérations similaires. Pour les questions fréquemment posées concernant FineBI, consultez la page FAQ sur l'utilisation de FineBI.
FAQ FineReport pour les nouveaux utilisateurs : FAQ du concepteur.
Pour plus d'informations sur la conception de rapports dans FineReport, consultez la page Parcours d'apprentissage des applications de reporting.