Custom Charts এবং Complex Data Visualization

Charting এবং Graphics ব্যবস্থাপনা - জ্যাসপার রিপোর্ট (JasperReports) - Java Technologies

326

JasperReports শুধুমাত্র রিপোর্ট তৈরি করার জন্যই নয়, বরং charts এবং complex data visualizations তৈরি করার জন্যও ব্যবহৃত হয়। JasperReports-এর মধ্যে অন্তর্নির্মিত অনেক ধরনের চার্ট এবং গ্রাফ রয়েছে, যা ডেটাকে সহজে বিশ্লেষণযোগ্য এবং ব্যবহারকারী-বান্ধবভাবে উপস্থাপন করতে সাহায্য করে। আপনি কাস্টম চার্ট ডিজাইন, ডাইনামিক ডেটা সোর্স থেকে গ্রাফ তৈরি এবং আরো অনেক ধরনের জটিল ডেটা ভিজ্যুয়ালাইজেশন করতে পারেন।

এই গাইডে, আমরা Custom Charts এবং Complex Data Visualization করতে JasperReports কিভাবে ব্যবহার করা যায় তা দেখব।


1. Custom Charts in JasperReports

JasperReports বিভিন্ন ধরনের চার্ট (যেমন: Bar Chart, Line Chart, Pie Chart, Time Series Chart) সমর্থন করে। এই চার্টগুলিকে কাস্টমাইজ করা যায় এবং ডেটার ভিজ্যুয়াল রিপ্রেজেন্টেশন তৈরি করা হয়।

Bar Chart Example

ধরা যাক, আপনি একটি Sales Report তৈরি করছেন এবং প্রতিটি Region এর বিক্রয়ের পরিমাণ একটি Bar Chart হিসাবে প্রদর্শন করতে চান।

Step 1: JRXML ফাইলে Chart তৈরি করা
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports 
                                  http://jasperreports.sourceforge.net/xsd/jasperreport.xsd"
              name="SalesByRegionReport" language="java" pageWidth="595" pageHeight="842"
              columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">

    <!-- Define fields -->
    <field name="region" class="java.lang.String"/>
    <field name="salesAmount" class="java.lang.Double"/>

    <!-- Chart Section -->
    <summary>
        <band height="200">
            <chart>
                <reportElement x="0" y="0" width="555" height="200"/>
                <chartTitle><![CDATA[Sales by Region]]></chartTitle>
                <chartPlot>
                    <categoryDataset>
                        <categorySeries>
                            <categorySeriesDataset>
                                <datasetParameter name="COLUMN_CATEGORY" class="java.lang.String"/>
                                <datasetParameter name="COLUMN_VALUE" class="java.lang.Double"/>
                            </categorySeriesDataset>
                        </categorySeries>
                    </categoryDataset>
                </chartPlot>
            </chart>
        </band>
    </summary>

</jasperReport>

ব্যাখ্যা:

  • Category Dataset: ডেটার region ফিল্ডকে ক্যাটেগরি হিসেবে এবং salesAmount ফিল্ডকে মান হিসেবে ব্যবহার করা হয়েছে।
  • Chart: Bar Chart তৈরি করা হয়েছে, যেখানে প্রতিটি region অনুযায়ী বিক্রয়ের মান প্রদর্শিত হবে।
Step 2: Data Source and Report Generation

আপনি যখন রিপোর্টটি তৈরি করবেন, তখন salesAmount এবং region ডেটা নিয়ে চার্টটি ডাইনামিকভাবে তৈরি হবে। ডেটাবেস বা JRBeanCollectionDataSource থেকে ডেটা নিয়ে এই রিপোর্টটি তৈরি করা যাবে।

Data Source Example (Java Code):

import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
import java.util.*;

public class CustomChartExample {

    public static void main(String[] args) {
        try {
            // Sample data
            List<SalesData> salesDataList = new ArrayList<>();
            salesDataList.add(new SalesData("North", 1000.0));
            salesDataList.add(new SalesData("South", 1500.0));
            salesDataList.add(new SalesData("East", 1200.0));
            salesDataList.add(new SalesData("West", 800.0));

            JRBeanCollectionDataSource dataSource = new JRBeanCollectionDataSource(salesDataList);

            // Report parameters
            Map<String, Object> parameters = new HashMap<>();
            parameters.put("ReportTitle", "Sales Report by Region");

            // Compile the report
            JasperReport jasperReport = JasperCompileManager.compileReport("SalesByRegionReport.jrxml");
            JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, dataSource);

            // Export to PDF
            JasperExportManager.exportReportToPdfFile(jasperPrint, "sales_report_by_region.pdf");

            System.out.println("Report generated successfully!");
        } catch (JRException e) {
            e.printStackTrace();
        }
    }

    // Sample data class
    public static class SalesData {
        private String region;
        private Double salesAmount;

        public SalesData(String region, Double salesAmount) {
            this.region = region;
            this.salesAmount = salesAmount;
        }

        public String getRegion() {
            return region;
        }

        public Double getSalesAmount() {
            return salesAmount;
        }
    }
}

2. Complex Data Visualization in JasperReports

JasperReports আরও জটিল ডেটা ভিজ্যুয়ালাইজেশন করতে পারে, যেমন Time Series Charts, Pie Charts, এবং Stacked Bar Charts

Pie Chart Example

ধরা যাক, আপনি একটি Sales Distribution রিপোর্ট তৈরি করতে চান, যেখানে আপনার Region-wise sales ভিজ্যুয়ালাইজ করতে হবে Pie Chart ব্যবহার করে।

Step 1: JRXML ফাইলে Pie Chart তৈরি করা
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports 
                                  http://jasperreports.sourceforge.net/xsd/jasperreport.xsd"
              name="SalesPieChartReport" language="java" pageWidth="595" pageHeight="842"
              columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">

    <field name="region" class="java.lang.String"/>
    <field name="salesAmount" class="java.lang.Double"/>

    <!-- Pie Chart Section -->
    <summary>
        <band height="200">
            <chart>
                <reportElement x="0" y="0" width="555" height="200"/>
                <chartTitle><![CDATA[Sales Distribution by Region]]></chartTitle>
                <chartPlot>
                    <pieDataset>
                        <datasetParameter name="COLUMN_CATEGORY" class="java.lang.String"/>
                        <datasetParameter name="COLUMN_VALUE" class="java.lang.Double"/>
                    </pieDataset>
                </chartPlot>
            </chart>
        </band>
    </summary>

</jasperReport>

Step 2: Data Source and Report Generation for Pie Chart

এই কোডের মাধ্যমে আপনি Pie Chart তৈরি করতে পারেন, যেখানে প্রতি Region এর জন্য বিক্রয় পরিমাণ পী চার্টের সেগমেন্ট হিসেবে প্রদর্শিত হবে। আপনি SalesData ক্লাসের ডেটা ব্যবহার করে এই রিপোর্ট তৈরি করবেন।


Advanced Visualization with Custom Charts

  1. Time Series Chart:
    • JasperReports টাইম সিরিজ ডেটা ভিজ্যুয়ালাইজ করতে পারে, যেখানে ডেটার time অথবা date অক্ষের উপর ভিত্তি করে গ্রাফ তৈরি হয়।
  2. Stacked Bar Chart:
    • একাধিক ডেটা সিরিজ একসাথে Stacked Bar Chart হিসেবে দেখাতে পারে, যা ব্যবহারকারীকে একাধিক ভেরিয়েবল একটি গ্রাফে দেখতে সাহায্য করে।
  3. Multiple Pie Charts:
    • একাধিক Pie Chart তৈরি করে আপনি ভিন্ন ভিন্ন বিভাগের বা ক্যাটেগরির ডেটা দেখাতে পারেন।

  1. Custom Charts: JasperReports কাস্টম চার্ট তৈরি করতে Bar Charts, Pie Charts, Line Charts ইত্যাদি ব্যবহার করতে সাহায্য করে, যা ডেটা ভিজ্যুয়ালাইজেশন এবং রিপোর্ট তৈরিতে কার্যকর।
  2. Complex Data Visualization: জটিল ডেটা ভিজ্যুয়ালাইজেশন যেমন Time Series, Stacked Charts, Multiple Pie Charts JasperReports-এর মাধ্যমে সহজেই তৈরি করা যায়।
  3. Data Driven Reports: ডেটার উপর ভিত্তি করে কাস্টম গ্রাফ তৈরি করা JasperReports এ অত্যন্ত সহজ এবং এটি রিপোর্ট তৈরির ক্ষেত্রে কার্যকরী হতে পারে।

JasperReports আপনাকে অনেক ধরণের কাস্টম গ্রাফ এবং ভিজ্যুয়াল উপাদান তৈরির জন্য জটিল ডেটা ভিজ্যুয়ালাইজেশন সমাধান প্রদান করে, যা একটি শক্তিশালী রিপোর্টিং সিস্টেম তৈরি করতে সাহায্য করে।

Content added By
Promotion

Are you sure to start over?

Loading...