Subreport কি এবং কেন ব্যবহার করা হয়?

Subreports ব্যবস্থাপনা - জ্যাসপার রিপোর্ট (JasperReports) - Java Technologies

354

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

JasperReports-এ Subreport সাধারণত Subreport Element ব্যবহার করে তৈরি করা হয়। এটি মূল রিপোর্টের অংশ হিসেবে এক্সিকিউট হতে পারে, এবং এটি ভিন্ন ডেটা সোর্স বা রিপোর্ট লজিক ব্যবহার করতে সক্ষম।


Subreport এর ধারণা

Subreport হল একটি রিপোর্টের অন্তর্গত রিপোর্ট। প্রধান রিপোর্টে ডেটার মূল অংশ প্রদর্শিত হয় এবং যেখানে প্রয়োজন সেখানে সাবরিপোর্ট অন্তর্ভুক্ত করা হয়। সাবরিপোর্ট তৈরি করা হয় একটি পৃথক JRXML ফাইল হিসেবে এবং এটি মূল রিপোর্টে subreport element ব্যবহার করে অন্তর্ভুক্ত করা হয়। এটি রিপোর্টের কন্টেন্টের মধ্যে একটি বিশেষ অংশ হিসেবে কাজ করে, যেমন কোনো গ্রুপের বিস্তারিত ডেটা, টেবিলের অন্য একটি অংশ, বা অন্য কোনো সাব-সেকশন।


JasperReports এ Subreport কেন ব্যবহার করা হয়?

  1. ডায়নামিক রিপোর্ট স্ট্রাকচার:
    • Subreport ব্যবহার করে আপনি একটি রিপোর্টের মধ্যে বিভিন্ন অংশ বা সাবসেকশনকে একত্রিত করতে পারেন। এটি ডায়নামিক রিপোর্ট স্ট্রাকচার তৈরি করতে সাহায্য করে, যেখানে আপনি একাধিক সাবরিপোর্টের মাধ্যমে বিভিন্ন তথ্য একত্রিত করতে পারেন।
  2. কোড পুনরাবৃত্তি এড়ানো:
    • একটি সাবরিপোর্ট তৈরি করে আপনি একই রিপোর্টের বিভিন্ন অংশের জন্য কোড বা লজিক পুনরাবৃত্তি এড়াতে পারেন। একবার সাবরিপোর্ট তৈরি করলে, তা বিভিন্ন রিপোর্টে ব্যবহৃত হতে পারে।
  3. কাস্টম রিপোর্ট এবং ডেটা লজিক:
    • সাবরিপোর্ট ব্যবহার করে আপনি একাধিক ডেটা সোর্স থেকে রিপোর্ট তৈরি করতে পারেন। প্রধান রিপোর্টের জন্য এক ধরনের ডেটা এবং সাবরিপোর্টের জন্য আরেক ধরনের ডেটা সোর্স ব্যবহার করা যেতে পারে।
  4. প্রতিরূপ রিপোর্ট তৈরি:
    • Subreports আপনাকে একই ধরণের রিপোর্টের বিভিন্ন সংস্করণ তৈরি করতে সাহায্য করে, যেমন: একাধিক বিভাগের জন্য বা একাধিক পণ্য ক্যাটেগরির জন্য আলাদা আলাদা সাবরিপোর্ট তৈরি করা।
  5. পরিসংখ্যান বা বিশ্লেষণ:
    • প্রধান রিপোর্টের মধ্যে আপনি বিভিন্ন পরিসংখ্যান বা বিশ্লেষণ দেখতে চাইলে, সাবরিপোর্ট ব্যবহার করে আলাদা আলাদা টেবিল বা চার্ট যুক্ত করা যেতে পারে।

JasperReports এ Subreport এর উদাহরণ

ধরা যাক, আমাদের একটি প্রধান রিপোর্ট রয়েছে এবং আমরা সেখানে একটি সাবরিপোর্ট যোগ করতে চাই। এই সাবরিপোর্টে ডেটার বিস্তারিত দেখানো হবে।

Step 1: সাবরিপোর্ট রিপোর্ট (subreport.jrxml) তৈরি করা

প্রথমে, আমাদের একটি সাবরিপোর্ট তৈরি করতে হবে। এটি হতে পারে, উদাহরণস্বরূপ, পণ্যের একটি টেবিল।

<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="subreport" language="java" pageWidth="595" pageHeight="842">
    
    <queryString>
        <![CDATA[SELECT product_name, price FROM products]]>
    </queryString>
    
    <field name="product_name" class="java.lang.String"/>
    <field name="price" class="java.lang.Double"/>
    
    <detail>
        <band height="20">
            <textField>
                <reportElement x="0" y="0" width="200" height="20"/>
                <textFieldExpression><![CDATA[$F{product_name}]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement x="200" y="0" width="100" height="20"/>
                <textFieldExpression><![CDATA[$F{price}]]></textFieldExpression>
            </textField>
        </band>
    </detail>
</jasperReport>

Step 2: প্রধান রিপোর্টে সাবরিপোর্ট অন্তর্ভুক্ত করা

এখন, প্রধান রিপোর্টের মধ্যে আমরা সাবরিপোর্টটি অন্তর্ভুক্ত করব।

<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="main_report" language="java" pageWidth="595" pageHeight="842">

    <!-- অন্যান্য রিপোর্ট কনফিগারেশন -->

    <subreport>
        <reportElement x="0" y="100" width="515" height="150"/>
        <subreportExpression><![CDATA["subreport.jasper"]]></subreportExpression>
    </subreport>
    
</jasperReport>

এখানে, <subreport> এলিমেন্ট ব্যবহার করা হয়েছে, যা সাবরিপোর্টের ফাইলের পথ (উল্লেখিত subreport.jasper) এবং তার অবস্থান নির্ধারণ করে।

Step 3: Java কোড দিয়ে সাবরিপোর্টের সাথে প্রধান রিপোর্ট এক্সিকিউট করা

import net.sf.jasperreports.engine.*;

import java.util.HashMap;

public class JasperReportsSubreportExample {
    public static void main(String[] args) throws JRException {
        // প্রধান রিপোর্ট কম্পাইল করা
        JasperReport jasperReport = JasperCompileManager.compileReport("path/to/main_report.jrxml");

        // সাবরিপোর্ট ফাইল পাথ
        HashMap<String, Object> parameters = new HashMap<>();
        parameters.put("subreportFile", "path/to/subreport.jasper");

        // রিপোর্ট ফিলিং
        JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters);

        // রিপোর্ট এক্সপোর্ট করা (PDF হিসেবে)
        JasperExportManager.exportReportToPdfFile(jasperPrint, "output_report.pdf");
    }
}

Output:

  • এটি output_report.pdf নামক একটি PDF ফাইল তৈরি করবে যেখানে প্রধান রিপোর্ট এবং তার সাথে সাবরিপোর্টের বিস্তারিত তথ্য থাকবে।

Subreport এর বিভিন্ন ব্যবহার

  1. ডাইনামিক সেকশন তৈরি করা:
    • সাবরিপোর্ট ব্যবহার করে আপনি রিপোর্টের বিভিন্ন অংশকে ডাইনামিকভাবে আলাদা করতে পারেন।
  2. বিভিন্ন ডেটা সোর্স:
    • একসাথে একাধিক ডেটা সোর্স থেকে ডেটা নিয়ে একটি রিপোর্ট তৈরি করতে সাবরিপোর্ট সহায়ক।
  3. কাস্টম গ্রুপিং এবং রিপোর্টিং:
    • আপনি সাবরিপোর্ট ব্যবহার করে গ্রুপ ভিত্তিক রিপোর্ট তৈরি করতে পারেন, যেমন বিভিন্ন বিভাগের জন্য আলাদা সাবরিপোর্ট।

  1. Subreport হল একটি শক্তিশালী ফিচার যা JasperReports ব্যবহার করে মূল রিপোর্টের মধ্যে অন্য একটি রিপোর্ট অন্তর্ভুক্ত করতে ব্যবহৃত হয়।
  2. এটি ডায়নামিক রিপোর্টিং, কাস্টম রিপোর্ট সেকশন, এবং বিভিন্ন ডেটা সোর্স ব্যবহারের জন্য উপকারী।
  3. Subreports একাধিক রিপোর্টের মধ্যে সম্পর্ক তৈরি করতে সহায়তা করে এবং ডেটা বিশ্লেষণ এবং উপস্থাপনাকে আরও গতিশীল করে তোলে।

JasperReports এর subreport ফিচার রিপোর্টিং প্রক্রিয়াকে আরও সংগঠিত এবং কার্যকরী করে, বিশেষত যখন রিপোর্টের মধ্যে ডেটার অনেক স্তর বা অংশ থাকে।

Content added By
Promotion

Are you sure to start over?

Loading...