Complex Crosstab Reports তৈরি এবং Customization

asperReports এর মাধ্যমে Crosstab Reports তৈরি - জ্যাসপার রিপোর্ট (JasperReports) - Java Technologies

342

Crosstab reports হল এমন রিপোর্ট যা সাধারণত টেবিল বা গ্রিড আকারে summary data বা aggregated data প্রদর্শন করে, যেখানে rows এবং columns এর মধ্যে সম্পর্কিত তথ্য থাকে। এটি সাধারণত pivot tables বা multi-dimensional reports হিসাবে ব্যবহৃত হয়।

JasperReports-এ Crosstab Reports তৈরি এবং কাস্টমাইজ করার জন্য অনেক অপশন এবং ফিচার রয়েছে। এখানে আমরা Complex Crosstab Reports তৈরি এবং কাস্টমাইজ করার বিভিন্ন টেকনিক আলোচনা করব।


Crosstab Report তৈরি করার ধাপ

Crosstab রিপোর্ট তৈরির জন্য আপনাকে Jaspersoft Studio ব্যবহার করতে হবে, যেখানে আপনি বিভিন্ন row এবং column ফিল্ড দিয়ে summary data প্রদর্শন করবেন। এই রিপোর্টে আপনি aggregate functions (যেমন: sum, average, count) ব্যবহার করে ডেটা সংক্ষেপিত করতে পারেন।

Crosstab Report তৈরি করার ধাপ:

  1. Jaspersoft Studio তে নতুন রিপোর্ট তৈরি করুন।
  2. Crosstab উপাদান নির্বাচন করুন এবং প্রয়োজনীয় row group এবং column group নির্ধারণ করুন।
  3. Measure সেট করুন, যা ডেটা সন্নিবেশ (aggregate) করতে সাহায্য করবে।
  4. Display বা Conditional Formatting কাস্টমাইজ করুন।

Step-by-Step Example:

ধরা যাক, আপনি একটি Sales রিপোর্ট তৈরি করছেন যেখানে আপনি Product এবং Region অনুযায়ী Sales Amount প্রদর্শন করতে চান।

  1. Crosstab Report Design in Jaspersoft Studio:
    • Row Group: Product Name
    • Column Group: Region
    • Measure: Sales Amount (Sum)

Crosstab Report Example in 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/jasperreports.xsd"
              name="SalesCrosstabReport" pageWidth="595" pageHeight="842" columnWidth="515" leftMargin="40" rightMargin="40" topMargin="40" bottomMargin="40">

    <title>
        <band height="60">
            <textField>
                <reportElement x="0" y="0" width="515" height="50"/>
                <textFieldExpression><![CDATA["Sales Crosstab Report"]]></textFieldExpression>
            </textField>
        </band>
    </title>

    <columnHeader>
        <band height="40">
            <textField>
                <reportElement x="0" y="0" width="100" height="30"/>
                <textFieldExpression><![CDATA["Product"]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement x="100" y="0" width="100" height="30"/>
                <textFieldExpression><![CDATA["Region"]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement x="200" y="0" width="100" height="30"/>
                <textFieldExpression><![CDATA["Sales Amount"]]></textFieldExpression>
            </textField>
        </band>
    </columnHeader>

    <detail>
        <band height="30">
            <crosstab>
                <reportElement x="0" y="0" width="515" height="30"/>
                <rowGroup name="Product">
                    <columnHeaderExpression><![CDATA[$F{productName}]]></columnHeaderExpression>
                </rowGroup>
                <columnGroup name="Region">
                    <columnHeaderExpression><![CDATA[$F{region}]]></columnHeaderExpression>
                </columnGroup>
                <measure name="SalesAmount" class="java.lang.Double" calculation="Sum">
                    <measureExpression><![CDATA[$F{salesAmount}]]></measureExpression>
                </measure>
            </crosstab>
        </band>
    </detail>
</jasperReport>

Explanation:

  1. Row Group: এখানে Product কে row group হিসেবে ব্যবহার করা হয়েছে। এটি রিপোর্টের প্রতিটি সারিতে Product এর মান দেখাবে।
  2. Column Group: এখানে Region কে column group হিসেবে ব্যবহার করা হয়েছে। এটি রিপোর্টের প্রতিটি কলামে Region এর মান দেখাবে।
  3. Measure: Sales Amount কে Sum হিসাবে ব্যবহার করা হয়েছে, যাতে প্রতিটি সেলের জন্য মোট বিক্রয় পরিমাণ গণনা হয়।
  4. Crosstab: Crosstab ট্যাগ ব্যবহার করে বিভিন্ন row এবং column গ্রুপের জন্য ডেটা পরিবেশন করা হচ্ছে।

2. Crosstab Report Customization

Crosstab রিপোর্টে আরও কিছু কাস্টমাইজেশন করা যেতে পারে যেমন:

  • Conditional Formatting: আপনি যদি চান যে Sales Amount ১০০০ এর বেশি হলে সেটি গ্রিন রঙে প্রদর্শিত হোক, তাহলে conditional style ব্যবহার করতে পারেন।
  • Sorting and Grouping: আপনি row এবং column গ্রুপের ডেটা ascending বা descending অনুযায়ী সাজাতে পারেন।

Conditional Formatting Example:

<styles>
    <style name="highSales" isDefault="false" fontSize="12" bold="true" forecolor="#00FF00"/>
    <style name="lowSales" isDefault="true" fontSize="12" bold="false" forecolor="#FF0000"/>
</styles>

<textField>
    <reportElement x="0" y="200" width="200" height="30"/>
    <textFieldExpression><![CDATA[$F{salesAmount}]]></textFieldExpression>
    <textElement>
        <conditionalStyle>
            <conditionExpression><![CDATA[$F{salesAmount} > 1000]]></conditionExpression>
            <style name="highSales"/>
            <style name="lowSales"/>
        </conditionalStyle>
    </textElement>
</textField>

এখানে conditionalStyle ব্যবহৃত হয়েছে যা Sales Amount এর মানের ওপর ভিত্তি করে foreground color পরিবর্তন করবে।


3. Multiple Measures and Custom Expressions

JasperReports-এ একাধিক measure এবং complex expressions ব্যবহার করা যেতে পারে। আপনি যেমন total sales, average sales, বা percentage change হিসাব করতে পারবেন।

Multiple Measures Example:

<measure name="TotalSales" class="java.lang.Double" calculation="Sum">
    <measureExpression><![CDATA[$F{salesAmount}]]></measureExpression>
</measure>

<measure name="AverageSales" class="java.lang.Double" calculation="Average">
    <measureExpression><![CDATA[$F{salesAmount}]]></measureExpression>
</measure>

এখানে দুটি measure (TotalSales এবং AverageSales) যোগ করা হয়েছে, যাতে আপনি বিক্রয়ের মোট পরিমাণ এবং গড় পরিমাণ রিপোর্টে দেখতে পারেন।


4. Handling Complex Data in Crosstab

JasperReports Crosstab ব্যবহার করে অনেক ধরনের complex data সহজে এবং কার্যকরীভাবে প্রক্রিয়া করা যায়। যেমন:

  • Grouping: আপনি একই ধরনের ডেটাকে গ্রুপ করতে পারেন এবং সেই অনুযায়ী Crosstab রিপোর্টে সেটি প্রদর্শন করতে পারেন।
  • Aggregate Functions: Crosstab ব্যবহার করে একাধিক aggregate functions যেমন Sum, Average, Max, Min প্রয়োগ করা যেতে পারে।

Crosstab Example with Multiple Aggregates:

<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/jasperreports.xsd"
              name="SalesCrosstabReport" pageWidth="595" pageHeight="842" columnWidth="515" leftMargin="40" rightMargin="40" topMargin="40" bottomMargin="40">
    
    <detail>
        <band height="200">
            <crosstab>
                <rowGroup name="Product">
                    <columnHeaderExpression><![CDATA[$F{productName}]]></columnHeaderExpression>
                </rowGroup>
                <columnGroup name="Region">
                    <columnHeaderExpression><![CDATA[$F{region}]]></columnHeaderExpression>
                </columnGroup>
                <measure name="TotalSales" class="java.lang.Double" calculation="Sum">
                    <measureExpression><![CDATA[$F{salesAmount}]]></measureExpression>
                </measure>
                <measure name="AverageSales" class="java.lang.Double" calculation="Average">
                    <measureExpression><![CDATA[$F{salesAmount}]]></measureExpression>
                </measure>
            </crosstab>
        </band>
    </detail>
</jasperReport>

এখানে TotalSales এবং AverageSales দুইটি আলাদা measure ব্যবহার করা হয়েছে, যা আপনাকে বিক্রয়ের মোট পরিমাণ এবং গড় বিক্রয়ের পরিমাণ দেখাবে।


  1. Crosstab Reports ব্যবহার করে আপনি multi-dimensional ডেটা সহজে উপস্থাপন করতে পারেন এবং সেই ডেটা থেকে সহজে aggregated summary তৈরি করতে পারেন।
  2. Conditional Formatting, multiple measures, এবং complex expressions ব্যবহার করে আপনি Crosstab রিপোর্টে আরও ডায়নামিক ডেটা বিশ্লেষণ এবং কাস্টমাইজেশন করতে পারেন।
  3. Jaspersoft Studio ব্যবহার করে Crosstab রিপোর্ট ডিজাইন করা এবং কাস্টমাইজ করা খুবই সহজ, এবং এটি অনেক ধরনের data source থেকে রিপোর্ট তৈরি করতে সক্ষম।
Content added By
Promotion

Are you sure to start over?

Loading...