Hubungkan FineReport ke kluster AnalyticDB for MySQL untuk mengkueri data dan membuat laporan langsung pada kluster Anda.
Prasyarat
Sebelum memulai, pastikan Anda telah:
Meninjau kompatibilitas antara FineReport dan AnalyticDB for MySQL. Lihat Ikhtisar kompatibilitas.
Menginstal MySQL Connector/J.
Menginstal FineReport. Jika ini pertama kalinya Anda menginstal FineReport, Anda juga memerlukan server MySQL (seperti ApsaraDB RDS for MySQL) untuk mengimpor metadata FineReport. Gunakan salah satu metode berikut untuk menyiapkan koneksi:
FineReport designer: Untuk MySQL 5.x, lihat [Platform] Connect to MySQL. Untuk MySQL 8.x, lihat [Platform] Connect to MySQL.
Data-based decision making system: Lihat [Designer] Connect to a database.
(Opsional) Mengajukan titik akhir publik jika melakukan koneksi melalui internet. Lihat Apply for or release a public endpoint.
Hubungkan ke AnalyticDB for MySQL
Parameter koneksi
| Parameter | Nilai |
|---|---|
| Database | MySQL |
| Driver | com.mysql.jdbc.Driver |
| URL | jdbc:mysql://<hostname>:<port> |
| Username | Akun privileged atau akun standar |
| Password | Password akun |
Di mana:
<hostname>: titik akhir publik atau Virtual Private Cloud (VPC) kluster Anda.<port>: port dari titik akhir kluster. Default:3306.
Langkah-langkah
Jalankan FineReport. Pada bilah menu atas, pilih Server > Define Data Connection.
Pada dialog Define Data Connection, atur parameter seperti yang ditunjukkan pada tabel di atas.

Klik Test Connection. Setelah pengujian berhasil, klik OK.
Anda kini telah terhubung ke kluster AnalyticDB for MySQL Anda. Selanjutnya, buat set data untuk mengkueri data guna laporan Anda.
Buat set data
Set data berisi data yang diambil dari kluster Anda menggunakan pernyataan SQL. FineReport menampilkan set data sebagai tabel dua dimensi di panel manajemen set data.
Klik tab Template Dataset, lalu klik ikon + di pojok kiri atas.

Pilih DB Query dari daftar drop-down.

Pada dialog DB Query, atur Name menjadi
ds1. Pilih kluster AnalyticDB for MySQL Anda dari daftar drop-down di pojok kiri atas. Klik sebuah tabel pada daftar di sisi kiri, lalu masukkan SQL Anda di editor sisi kanan. Misalnya, untuk mengambil semua data daridemo_sales:select * from demo_sales
Untuk membuat set data agregat, tambahkan set data lain bernama
ds2. Misalnya, untuk mendapatkan total penjualan per toko:SELECT <Store name>, SUM(Revenue) AS <Total sales volume> FROM demo_sales GROUP BY <Store name>Klik OK. Data yang diambil muncul di panel manajemen set data.
Buat laporan
Bagian ini memandu Anda melalui contoh lengkap: laporan dengan tabel dan grafik kolom yang menampilkan volume penjualan maksimum dan total berdasarkan jenis produk, jenis pembayaran, dan jenis kontrak.

Siapkan data demo
Unduh tabel demo_contract.
Buat tabel
demo_contractdi kluster AnalyticDB for MySQL Anda. Gunakan kolom dengan nilai yang tersebar merata sebagai kunci distribusi dan kolom waktu sebagai kunci partisi. Lihat Table schema design sebagai panduan. Dalam contoh ini,contract_iddigunakan sebagai kunci distribusi karena nilainya tersebar acak: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'Impor data dari file XLSX ke AnalyticDB for MySQL menggunakan Kettle. Lihat Use Kettle to import data to Data Warehouse Edition. Setelah impor selesai, jalankan perintah berikut untuk memverifikasi data:
SELECT count(*) FROM demo_contractKueri tersebut mengembalikan 668 entri.
Impor set data ke FineReport
Buat dua set data di FineReport menggunakan data yang telah diimpor.
Buat set data
d1untuk mendapatkan volume penjualan maksimum berdasarkan jenis produk, jenis kontrak, dan jenis pembayaran: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>0Buat set data
d2untuk mendapatkan total penjualan berdasarkan jenis produk dan jenis kontrak: Kelompokkan data berdasarkan jenis produk dan jenis kontrak, lalu hitung total volume penjualan dari semua jenis pembayaran.

Rancang tabel
Judul: Gabungkan sel A1 hingga D2. Masukkan
Contract Sales Overviewdi sel gabungan tersebut, atur ukuran font menjadi 15, serta buat teks menjadi tebal dan rata tengah.Header miring: Gabungkan sel A3 dan B3. Klik kanan sel gabungan tersebut dan pilih Cell Element > Insert Slash. Pada dialog Slope Line, masukkan:
Payment Type | Contract Type | Product TypeTambahkan spasi untuk menyesuaikan posisi teks.


Rumus: Seret kolom data dengan distribusi nilai tidak merata ke sel yang sesuai. Lalu tambahkan rumus berikut:
Klik sel C5. Klik ikon Insert Formula di bilah pintasan. Pada dialog Formula Definition, masukkan
SUM(C4)untuk menjumlahkan total penjualan per produk.Klik sel D5 dan tambahkan
SUM(D4)untuk menjumlahkan total penjualan dari semua produk.

Expansion directions: Mengontrol cara data diperluas ke seluruh sel.
Klik sel C3. Di panel, klik Cell Attributes > tab Expand. Pada bagian Basic, atur Expand Direction menjadi H agar data jenis produk diekspansi secara horizontal.
Atur Expand Direction menjadi No Expansion untuk sel C4, C5, dan D5, karena sel-sel tersebut berisi nilai unik yang terkait dengan kombinasi tertentu.

Asosiasi set data: Saat beberapa set data muncul dalam laporan yang sama, hubungkan menggunakan bidang bersama. Set data
d1dand2keduanya berisiproduct_typedancontract_type, sehingga gunakan bidang-bidang ini untuk mengasosiasikan kedua set data tersebut. Klik ganda sel D4. Pada dialog Data Column, klik tab Filter dan tambahkan kondisi umum untuk menghubungkanproduct_typedancontract_typeantarad1dand2.

Tambahkan grafik kolom
Gabungkan sel A7 hingga D15. Pada bilah menu atas, pilih Insert > Cell Element > Insert Chart. Pilih Column Chart dari daftar Chart Type, pilih Column Chart di daftar sisi kanan, lalu klik OK.

Klik grafik tersebut. Di panel, klik Cell Element. Pada tab Data, atur hal berikut:
Data Source: Cell Data
Category:
=B4Series:
=C3Value:
=C4
CatatanTambahkan awalan
=pada setiap referensi sel. Tanpa=, FineReport akan menganggap nilai tersebut sebagai string, bukan referensi sel.
Pratinjau laporan
Simpan laporan terlebih dahulu, lalu klik Preview dan pilih Pagination Preview dari daftar drop-down. Laporan akan terbuka di browser Anda.