|
|
|
|
| Re: Add Subtotal to the BIRT report before page break [message #671660 is a reply to message #671543] |
Wed, 18 May 2011 10:55  |
Jason Weathersby Messages: 9167 Registered: July 2009 |
Senior Member |

|
|
I do not know of a way to do this in the group footer. You could do it
in the group header though. It would be good to log a bug to repeat the
group footer on page breaks.
Jason
On 5/18/2011 5:17 AM, forums-noreply@eclipse.org wrote:
> <?xml version="1.0" encoding="UTF-8"?>
> <report xmlns="http://www.eclipse.org/birt/2005/design"
> version="3.2.22" id="1">
> <property name="createdBy">Eclipse BIRT Designer Version
> 2.6.2.r262_v20110209 Build
> <2.6.2.v20110214-1523></property>
> <property name="units">cm</property>
> <property
> name="iconFile">/templates/blank_report.gif</property>
> <property name="bidiLayoutOrientation">ltr</property>
> <property name="imageDPI">96</property>
> <data-sources>
> <oda-data-source
> extensionID="org.eclipse.birt.report.data.oda.jdbc"
> name="Data Source" id="7">
> <property
> name="odaDriverClass">org.eclipse.birt.report.data.oda.sampledb.Driver
> </property>
> <property
> name="odaURL">jdbc:classicmodels:sampledb</property>
> <property
> name="odaUser">ClassicModels</property>
> <property name="OdaConnProfileName"></property>
> </oda-data-source>
> </data-sources>
> <data-sets>
> <oda-data-set
> extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet
> " name="Data Set" id="8">
> <list-property name="columnHints">
> <structure>
> <property
> name="columnName">ORDERNUMBER</property>
> <text-property
> name="displayName">ORDERNUMBER</text-property>
> </structure>
> <structure>
> <property
> name="columnName">PRODUCTCODE</property>
> <text-property
> name="displayName">PRODUCTCODE</text-property>
> </structure>
> <structure>
> <property
> name="columnName">QUANTITYORDERED</property>
> <text-property
> name="displayName">QUANTITYORDERED</text-property>
> </structure>
> <structure>
> <property
> name="columnName">PRICEEACH</property>
> <text-property
> name="displayName">PRICEEACH</text-property>
> </structure>
> <structure>
> <property
> name="columnName">ORDERLINENUMBER</property>
> <text-property
> name="displayName">ORDERLINENUMBER</text-property>
> </structure>
> </list-property>
> <structure name="cachedMetaData">
> <list-property name="resultSet">
> <structure>
> <property
> name="position">1</property>
> <property
> name="name">ORDERNUMBER</property>
> <property
> name="dataType">integer</property>
> </structure>
> <structure>
> <property
> name="position">2</property>
> <property
> name="name">PRODUCTCODE</property>
> <property
> name="dataType">string</property>
> </structure>
> <structure>
> <property
> name="position">3</property>
> <property
> name="name">QUANTITYORDERED</property>
> <property
> name="dataType">integer</property>
> </structure>
> <structure>
> <property
> name="position">4</property>
> <property
> name="name">PRICEEACH</property>
> <property
> name="dataType">float</property>
> </structure>
> <structure>
> <property
> name="position">5</property>
> <property
> name="name">ORDERLINENUMBER</property>
> <property
> name="dataType">integer</property>
> </structure>
> </list-property>
> </structure>
> <property name="dataSource">Data
> Source</property>
> <list-property name="resultSet">
> <structure>
> <property name="position">1</property>
> <property
> name="name">ORDERNUMBER</property>
> <property
> name="nativeName">ORDERNUMBER</property>
> <property
> name="dataType">integer</property>
> <property
> name="nativeDataType">4</property>
> </structure>
> <structure>
> <property name="position">2</property>
> <property
> name="name">PRODUCTCODE</property>
> <property
> name="nativeName">PRODUCTCODE</property>
> <property
> name="dataType">string</property>
> <property
> name="nativeDataType">12</property>
> </structure>
> <structure>
> <property name="position">3</property>
> <property
> name="name">QUANTITYORDERED</property>
> <property
> name="nativeName">QUANTITYORDERED</property>
> <property
> name="dataType">integer</property>
> <property
> name="nativeDataType">4</property>
> </structure>
> <structure>
> <property name="position">4</property>
> <property
> name="name">PRICEEACH</property>
> <property
> name="nativeName">PRICEEACH</property>
> <property
> name="dataType">float</property>
> <property
> name="nativeDataType">8</property>
> </structure>
> <structure>
> <property name="position">5</property>
> <property
> name="name">ORDERLINENUMBER</property>
> <property
> name="nativeName">ORDERLINENUMBER</property>
> <property
> name="dataType">integer</property>
> <property
> name="nativeDataType">5</property>
> </structure>
> </list-property>
> <xml-property name="queryText"><![CDATA[select
> *
> from orderdetails]]></xml-property>
> <xml-property
> name="designerValues"><![CDATA[<?xml version="1.0"
> encoding="UTF-8"?>
> <model:DesignValues
> xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design"
> xmlns:model="http://www.eclipse.org/birt/report/model/adapter/odaModel">
> <Version>1.0</Version>
> <design:ResultSets derivedMetaData="true">
> <design:resultSetDefinitions>
> <design:resultSetColumns>
> <design:resultColumnDefinitions>
> <design:attributes>
> <design:name>ORDERNUMBER</design:name>
> <design:position>1</design:position>
> <design:nativeDataTypeCode>4</design:nativeDataTypeCode>
> <design:precision>10</design:precision>
> <design:scale>0</design:scale>
> <design:nullability>Nullable</design:nullability>
> <design:uiHints>
> <design:displayName>ORDERNUMBER</design:displayName>
> </design:uiHints>
> </design:attributes>
> <design:usageHints>
> <design:label>ORDERNUMBER</design:label>
> <design:formattingHints>
> <design:displaySize>11</design:displaySize>
> </design:formattingHints>
> </design:usageHints>
> </design:resultColumnDefinitions>
> <design:resultColumnDefinitions>
> <design:attributes>
> <design:name>PRODUCTCODE</design:name>
> <design:position>2</design:position>
> <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
> <design:precision>15</design:precision>
> <design:scale>0</design:scale>
> <design:nullability>Nullable</design:nullability>
> <design:uiHints>
> <design:displayName>PRODUCTCODE</design:displayName>
> </design:uiHints>
> </design:attributes>
> <design:usageHints>
> <design:label>PRODUCTCODE</design:label>
> <design:formattingHints>
> <design:displaySize>15</design:displaySize>
> </design:formattingHints>
> </design:usageHints>
> </design:resultColumnDefinitions>
> <design:resultColumnDefinitions>
> <design:attributes>
> <design:name>QUANTITYORDERED</design:name>
> <design:position>3</design:position>
> <design:nativeDataTypeCode>4</design:nativeDataTypeCode>
> <design:precision>10</design:precision>
> <design:scale>0</design:scale>
> <design:nullability>Nullable</design:nullability>
> <design:uiHints>
> <design:displayName>QUANTITYORDERED</design:displayName>
> </design:uiHints>
> </design:attributes>
> <design:usageHints>
> <design:label>QUANTITYORDERED</design:label>
> <design:formattingHints>
> <design:displaySize>11</design:displaySize>
> </design:formattingHints>
> </design:usageHints>
> </design:resultColumnDefinitions>
> <design:resultColumnDefinitions>
> <design:attributes>
> <design:name>PRICEEACH</design:name>
> <design:position>4</design:position>
> <design:nativeDataTypeCode>8</design:nativeDataTypeCode>
> <design:precision>15</design:precision>
> <design:scale>0</design:scale>
> <design:nullability>Nullable</design:nullability>
> <design:uiHints>
> <design:displayName>PRICEEACH</design:displayName>
> </design:uiHints>
> </design:attributes>
> <design:usageHints>
> <design:label>PRICEEACH</design:label>
> <design:formattingHints>
> <design:displaySize>22</design:displaySize>
> </design:formattingHints>
> </design:usageHints>
> </design:resultColumnDefinitions>
> <design:resultColumnDefinitions>
> <design:attributes>
> <design:name>ORDERLINENUMBER</design:name>
> <design:position>5</design:position>
> <design:nativeDataTypeCode>5</design:nativeDataTypeCode>
> <design:precision>5</design:precision>
> <design:scale>0</design:scale>
> <design:nullability>Nullable</design:nullability>
> <design:uiHints>
> <design:displayName>ORDERLINENUMBER</design:displayName>
> </design:uiHints>
> </design:attributes>
> <design:usageHints>
> <design:label>ORDERLINENUMBER</design:label>
> <design:formattingHints>
> <design:displaySize>6</design:displaySize>
> </design:formattingHints>
> </design:usageHints>
> </design:resultColumnDefinitions>
> </design:resultSetColumns>
> <design:criteria/>
> </design:resultSetDefinitions>
> </design:ResultSets>
> </model:DesignValues>]]></xml-property>
> </oda-data-set>
> </data-sets>
> <styles>
> <style name="report" id="4">
> <property
> name="fontFamily">sans-serif</property>
> <property name="fontSize">10pt</property>
> </style>
> <style name="crosstab-cell" id="5">
> <property
> name="borderBottomColor">#CCCCCC</property>
> <property
> name="borderBottomStyle">solid</property>
> <property
> name="borderBottomWidth">1pt</property>
> <property
> name="borderLeftColor">#CCCCCC</property>
> <property
> name="borderLeftStyle">solid</property>
> <property name="borderLeftWidth">1pt</property>
> <property
> name="borderRightColor">#CCCCCC</property>
> <property
> name="borderRightStyle">solid</property>
> <property
> name="borderRightWidth">1pt</property>
> <property
> name="borderTopColor">#CCCCCC</property>
> <property
> name="borderTopStyle">solid</property>
> <property name="borderTopWidth">1pt</property>
> </style>
> <style name="crosstab" id="6">
> <property
> name="borderBottomColor">#CCCCCC</property>
> <property
> name="borderBottomStyle">solid</property>
> <property
> name="borderBottomWidth">1pt</property>
> <property
> name="borderLeftColor">#CCCCCC</property>
> <property
> name="borderLeftStyle">solid</property>
> <property name="borderLeftWidth">1pt</property>
> <property
> name="borderRightColor">#CCCCCC</property>
> <property
> name="borderRightStyle">solid</property>
> <property
> name="borderRightWidth">1pt</property>
> <property
> name="borderTopColor">#CCCCCC</property>
> <property
> name="borderTopStyle">solid</property>
> <property name="borderTopWidth">1pt</property>
> </style>
> </styles>
> <page-setup>
> <simple-master-page name="Simple MasterPage"
> id="2">
> <method name="onPageEnd"><![CDATA[var qtys =
> this.getInstancesByElementName("qtyelement");
> var tmp=0;
> if( qtys != null ){
> for( var i=0; i< qtys.length; i++ ){
> //Instance of DataItemInstance
> var qty = qtys[i];
> tmp+=parseInt(qty.getValue());
> }
>
> }
> reportContext.setPageVariable("pageqty",tmp);]]></method>
> <page-header>
> <auto-text id="44">
> <property
> name="backgroundColor">#FF8080</property>
> <property
> name="type">page-variable</property>
> <property
> name="pageVariable">pageqty</property>
> </auto-text>
> </page-header>
> <page-footer>
> <text id="3">
> <property
> name="contentType">html</property>
> <text-property
> name="content"><![CDATA[<value-of>new
> Date()</value-of>]]></text-property>
> </text>
> </page-footer>
> </simple-master-page>
> </page-setup>
> <body>
> <table id="9">
> <property name="dataSet">Data Set</property>
> <list-property name="boundDataColumns">
> <structure>
> <property
> name="name">ORDERNUMBER</property>
> <text-property
> name="displayName">ORDERNUMBER</text-property>
> <expression name="expression"
> type="javascript">dataSetRow["ORDERNUMBER"]</expression >
> <property
> name="dataType">integer</property>
> </structure>
> <structure>
> <property
> name="name">PRODUCTCODE</property>
> <text-property
> name="displayName">PRODUCTCODE</text-property>
> <expression name="expression"
> type="javascript">dataSetRow["PRODUCTCODE"]</expression >
> <property
> name="dataType">string</property>
> </structure>
> <structure>
> <property
> name="name">QUANTITYORDERED</property>
> <text-property
> name="displayName">QUANTITYORDERED</text-property>
> <expression name="expression"
> type="javascript">dataSetRow["QUANTITYORDERED"]</expression
>>
> <property
> name="dataType">integer</property>
> </structure>
> <structure>
> <property
> name="name">PRICEEACH</property>
> <text-property
> name="displayName">PRICEEACH</text-property>
> <expression name="expression"
> type="javascript">dataSetRow["PRICEEACH"]</expression>
> <property
> name="dataType">float</property>
> </structure>
> <structure>
> <property
> name="name">ORDERLINENUMBER</property>
> <text-property
> name="displayName">ORDERLINENUMBER</text-property>
> <expression name="expression"
> type="javascript">dataSetRow["ORDERLINENUMBER"]</expression
>>
> <property
> name="dataType">integer</property>
> </structure>
> <structure>
> <property
> name="name">subtotalqty</property>
> <text-property
> name="displayName">subtotalqty</text-property>
> <property
> name="dataType">float</property>
> <simple-property-list
> name="aggregateOn">
> <value>subtotal</value>
> </simple-property-list>
> <property
> name="aggregateFunction">SUM</property>
> <list-property name="arguments">
> <structure>
> <property
> name="name">Expression</property>
> <expression name="value"
> type="javascript">row["QUANTITYORDERED"]</expression>
> </structure>
> </list-property>
> </structure>
> <structure>
> <property
> name="name">Subtotal</property>
> <text-property
> name="displayName">SubtotalQty</text-property>
> <property
> name="dataType">float</property>
> <simple-property-list
> name="aggregateOn">
> <value>subtotal</value>
> </simple-property-list>
> <property
> name="aggregateFunction">SUM</property>
> <list-property name="arguments">
> <structure>
> <property
> name="name">Expression</property>
> <expression name="value"
> type="javascript">row["QUANTITYORDERED"]</expression>
> </structure>
> </list-property>
> </structure>
> <structure>
> <property name="name">gtqty</property>
> <text-property
> name="displayName">gtqty</text-property>
> <property
> name="dataType">float</property>
> <property
> name="aggregateFunction">SUM</property>
> <list-property name="arguments">
> <structure>
> <property
> name="name">Expression</property>
> <expression name="value"
> type="javascript">row["QUANTITYORDERED"]</expression>
> </structure>
> </list-property>
> </structure>
> </list-property>
> <property name="pageBreakInterval">0</property>
> <column id="38"/>
> <column id="39"/>
> <column id="40"/>
> <column id="41"/>
> <column id="42"/>
> <header>
> <row id="10">
> <cell id="11">
> <label id="12">
> <text-property
> name="text">ORDERNUMBER</text-property>
> </label>
> </cell>
> <cell id="13">
> <label id="14">
> <text-property
> name="text">PRODUCTCODE</text-property>
> </label>
> </cell>
> <cell id="15">
> <label id="16">
> <text-property
> name="text">QUANTITYORDERED</text-property>
> </label>
> </cell>
> <cell id="17">
> <label id="18">
> <text-property
> name="text">PRICEEACH</text-property>
> </label>
> </cell>
> <cell id="19">
> <label id="20">
> <text-property
> name="text">ORDERLINENUMBER</text-property>
> </label>
> </cell>
> </row>
> </header>
> <group id="46">
> <property
> name="groupName">subtotal</property>
> <property
> name="interval">interval</property>
> <property
> name="intervalRange">40.0</property>
> <expression name="keyExpr"
> type="javascript">row.__rownum</expression>
> <property
> name="hideDetail">false</property>
> <header>
> <row id="47">
> <cell id="48"/>
> <cell id="49"/>
> <cell id="50"/>
> <cell id="51"/>
> <cell id="52"/>
> </row>
> </header>
> <footer>
> <row id="53">
> <cell id="54">
> <label id="78">
> <property
> name="fontWeight">bold</property>
> <text-property
> name="text">SUBTOTAL</text-property>
> </label>
> </cell>
> <cell id="55"/>
> <cell id="56">
> <data id="77">
> <property
> name="resultSetColumn">Subtotal</property>
> </data>
> </cell>
> <cell id="57"/>
> <cell id="58"/>
> </row>
> </footer>
> </group>
> <detail>
> <row id="21">
> <cell id="22">
> <data id="23">
> <property
> name="resultSetColumn">ORDERNUMBER</property>
> </data>
> </cell>
> <cell id="24">
> <data id="25">
> <property
> name="resultSetColumn">PRODUCTCODE</property>
> </data>
> </cell>
> <cell id="26">
> <data name="qtyelement" id="27">
> <property
> name="resultSetColumn">QUANTITYORDERED</property>
> </data>
> </cell>
> <cell id="28">
> <data id="29">
> <property
> name="resultSetColumn">PRICEEACH</property>
> </data>
> </cell>
> <cell id="30">
> <data id="31">
> <property
> name="resultSetColumn">ORDERLINENUMBER</property>
> </data>
> </cell>
> </row>
> </detail>
> <footer>
> <row id="32">
> <cell id="33">
> <label id="79">
> <property
> name="fontWeight">bold</property>
> <text-property
> name="text">GrandTOTAL</text-property>
> </label>
> </cell>
> <cell id="34"/>
> <cell id="35">
> <data id="80">
> <property
> name="resultSetColumn">gtqty</property>
> </data>
> </cell>
> <cell id="36"/>
> <cell id="37"/>
> </row>
> </footer>
> </table>
> </body>
> <property name="pageVariables">
> <variable-element name="pageqty">
> <property name="type">page</property>
> </variable-element>
> </property>
> </report>
Jason Weathersby
BIRT Exchange
|
|
|
Powered by
FUDForum. Page generated in 0.01703 seconds