Jump to content

what add column totals and row totals in crosstab?


nopain_nogain

Recommended Posts

My crosstab run successful,i want to add column totals and row totals in crosstab,and i find many data ,not find one method.

Use crosstab wizard create crosstab,late setp ,select add column totals and row totals,and add after,i don't now column totals field what's run?

Thanks so much.

This is my jrxml file

<?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="ShipmentsReport" pageWidth="842" pageHeight="595" orientation="Landscape" columnWidth="812" leftMargin="15" rightMargin="15" topMargin="10" bottomMargin="10">
 <property name="net.sf.jasperreports.export.pdf.tagged" value="true"/>
 <property name="net.sf.jasperreports.export.pdf.tag.language" value="EN-US"/>
 <style name="Sans_Normal" isDefault="true" fontName="DejaVu Sans" fontSize="8" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false"/>
 <style name="Sans_Large" isDefault="false" style="Sans_Normal" fontSize="10"/>
 <style name="Sans_Bold" isDefault="false" fontName="DejaVu Sans" fontSize="8" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false"/>
 <subDataset name="SubDataset3">
  <queryString>
   <![CDATA[select a.name course_name,b.name course_type_name,c.marks,d.name as school_name,e.name as classname
   from t_course a,t_course_type b,t_marks c,t_schoolmates d ,t_class e
   where a.type_id in(b.id) and a.id=c.course_id and d.id=c.student_id and d.class_id in(e.id)]]>
  </queryString>
  <field name="classname" class="java.lang.String"/>
  <field name="course_type_name" class="java.lang.String"/>
  <field name="marks" class="java.lang.Integer"/>
  <field name="school_name" class="java.lang.String"/>
  <field name="course_name" class="java.lang.String"/>
 </subDataset>
 <queryString>
  <![CDATA[sELECT name from T_schoolmates  group by name order by name]]>
 </queryString>
 <columnHeader>
  <band height="147">
   <crosstab isRepeatColumnHeaders="false">
    <reportElement x="0" y="15" width="812" height="108"/>
    <crosstabDataset>
     <dataset>
      <datasetRun subDataset="SubDataset3">
       <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
      </datasetRun>
     </dataset>
    </crosstabDataset>
    <crosstabHeaderCell>
     <cellContents>
      <box>
       <pen lineWidth="1.0"/>
      </box>
      <staticText>
       <reportElement style="Sans_Large" x="0" y="0" width="103" height="50"/>
       <textElement textAlignment="Center" verticalAlignment="Middle"/>
       <text><![CDATA[XXXXXXXXXXXXXXXXX]]></text>
      </staticText>
     </cellContents>
    </crosstabHeaderCell>
    <rowGroup name="classname" width="50" totalPosition="End">
     <bucket>
      <bucketExpression class="java.lang.String"><![CDATA[$F{classname}]]></bucketExpression>
     </bucket>
     <crosstabRowHeader>
      <cellContents>
       <box>
        <pen lineWidth="1.0"/>
       </box>
       <textField>
        <reportElement x="0" y="0" width="50" height="16"/>
        <textElement/>
        <textFieldExpression class="java.lang.String"><![CDATA[$V{classname}]]></textFieldExpression>
       </textField>
      </cellContents>
     </crosstabRowHeader>
     <crosstabTotalRowHeader>
      <cellContents backcolor="#60FFFF" mode="Opaque">
       <box>
        <pen lineWidth="1.0"/>
       </box>
      </cellContents>
     </crosstabTotalRowHeader>
    </rowGroup>
    <rowGroup name="school_name" width="53" totalPosition="End">
     <bucket>
      <bucketExpression class="java.lang.String"><![CDATA[$F{school_name}]]></bucketExpression>
     </bucket>
     <crosstabRowHeader>
      <cellContents>
       <box>
        <pen lineWidth="1.0"/>
       </box>
       <textField>
        <reportElement x="0" y="0" width="53" height="16"/>
        <textElement verticalAlignment="Middle"/>
        <textFieldExpression class="java.lang.String"><![CDATA[$V{school_name}]]></textFieldExpression>
       </textField>
      </cellContents>
     </crosstabRowHeader>
     <crosstabTotalRowHeader>
      <cellContents backcolor="#E0FFFF" mode="Opaque">
       <box>
        <pen lineWidth="1.0"/>
       </box>
      </cellContents>
     </crosstabTotalRowHeader>
    </rowGroup>
    <columnGroup name="course_type_name" height="25" totalPosition="End" headerPosition="Stretch">
     <bucket>
      <bucketExpression class="java.lang.String"><![CDATA[$F{course_type_name}]]></bucketExpression>
     </bucket>
     <crosstabColumnHeader>
      <cellContents>
       <box>
        <pen lineWidth="1.0"/>
       </box>
       <textField pattern="yyyy">
        <reportElement x="0" y="0" width="72" height="25"/>
        <textElement textAlignment="Center" verticalAlignment="Middle"/>
        <textFieldExpression class="java.lang.String"><![CDATA[$V{course_type_name}]]></textFieldExpression>
       </textField>
      </cellContents>
     </crosstabColumnHeader>
     <crosstabTotalColumnHeader>
      <cellContents backcolor="#FFFF60" mode="Opaque">
       <box>
        <pen lineWidth="1.0"/>
       </box>
      </cellContents>
     </crosstabTotalColumnHeader>
    </columnGroup>
    <columnGroup name="course_name" height="25" totalPosition="End">
     <bucket>
      <bucketExpression class="java.lang.String"><![CDATA[$F{course_name}]]></bucketExpression>
     </bucket>
     <crosstabColumnHeader>
      <cellContents>
       <box>
        <pen lineWidth="1.0"/>
       </box>
       <textField>
        <reportElement x="0" y="0" width="37" height="25"/>
        <textElement/>
        <textFieldExpression class="java.lang.String"><![CDATA[$V{course_name}]]></textFieldExpression>
       </textField>
      </cellContents>
     </crosstabColumnHeader>
     <crosstabTotalColumnHeader>
      <cellContents backcolor="#FFFFFF" mode="Opaque">
       <box>
        <pen lineWidth="1.0"/>
       </box>
      </cellContents>
     </crosstabTotalColumnHeader>
    </columnGroup>
    <measure name="marks_Nothing" class="java.lang.Integer" calculation="Sum">
     <measureExpression><![CDATA[$F{marks}]]></measureExpression>
    </measure>
    <crosstabCell width="37" height="16">
     <cellContents backcolor="#FFFFFF" mode="Opaque">
      <box>
       <pen lineWidth="1.0"/>
      </box>
      <textField pattern="#0.0">
       <reportElement x="0" y="0" width="37" height="16"/>
       <textElement textAlignment="Right" verticalAlignment="Middle"/>
       <textFieldExpression class="java.lang.Integer"><![CDATA[$V{marks_Nothing}]]></textFieldExpression>
      </textField>
     </cellContents>
    </crosstabCell>
    <crosstabCell width="35" height="16" columnTotalGroup="course_name">
     <cellContents backcolor="#FFFFFF" mode="Opaque">
      <box>
       <pen lineWidth="1.0"/>
      </box>
     </cellContents>
    </crosstabCell>
    <crosstabCell width="0" height="16" columnTotalGroup="course_type_name">
     <cellContents backcolor="#FFFF60" mode="Opaque">
      <box>
       <pen lineWidth="1.0"/>
      </box>
     </cellContents>
    </crosstabCell>
    <crosstabCell width="37" height="0" rowTotalGroup="school_name">
     <cellContents backcolor="#E0FFFF" mode="Opaque">
      <box>
       <pen lineWidth="1.0"/>
      </box>
     </cellContents>
    </crosstabCell>
    <crosstabCell height="0" rowTotalGroup="school_name" columnTotalGroup="course_name">
     <cellContents backcolor="#E0FFC0" mode="Opaque">
      <box>
       <pen lineWidth="1.0"/>
      </box>
     </cellContents>
    </crosstabCell>
    <crosstabCell width="0" height="0" rowTotalGroup="school_name" columnTotalGroup="course_type_name">
     <cellContents backcolor="#E0FF60" mode="Opaque">
      <box>
       <pen lineWidth="1.0"/>
      </box>
     </cellContents>
    </crosstabCell>
    <crosstabCell width="37" height="0" rowTotalGroup="classname">
     <cellContents backcolor="#60FFFF" mode="Opaque">
      <box>
       <pen lineWidth="1.0"/>
      </box>
     </cellContents>
    </crosstabCell>
    <crosstabCell height="0" rowTotalGroup="classname" columnTotalGroup="course_name">
     <cellContents backcolor="#60FFC0" mode="Opaque">
      <box>
       <pen lineWidth="1.0"/>
      </box>
     </cellContents>
    </crosstabCell>
    <crosstabCell width="0" height="0" rowTotalGroup="classname" columnTotalGroup="course_type_name">
     <cellContents backcolor="#60FF60" mode="Opaque">
      <box>
       <pen lineWidth="1.0"/>
      </box>
     </cellContents>
    </crosstabCell>
   </crosstab>
  </band>
 </columnHeader>
 <detail>
  <band/>
 </detail>
</jasperReport>
 

 



Post Edited by 郅 å¸…æ° at 04/03/09 03:22
Link to comment
Share on other sites

  • Replies 1
  • Created
  • Last Reply

Top Posters In This Topic

Popular Days

Top Posters In This Topic

Hi all,my questioni is OK, i reference the jasperReport carry demo .

Add this code: 

     <textField>
       <reportElement x="2" y="3" width="35" height="16"/>
       <textElement textAlignment="Center" verticalAlignment="Middle"/>
       <textFieldExpression class="java.lang.Integer"><![CDATA[$V{marks_Nothing}]]></textFieldExpression>
      </textField>

Hope help other. 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...