reportdef/report/frame/groups

Description

This optional element defines data groups, for sorting and summing of groups.

Only one groups element can exist in a frame. Primarily used to create subtotal and total lines, or summed values to be used in calculations.

The optional element groups defines how information is categorized, which value fields should be included, and what calculations need to be performed. Groups can act like sub-queries that run dynamically from within the report. While many group elements can exist within groups, only one group element can exist per frame.

Diagram

media/image42.jpeg

Child Elements

group

Example

<queries>
	<query datasource="" name="Query0" result-type="multiple-rows" type="iquery">
		<subjectArea name="Tender Fixed Period Total">
			<columns>
				<column name="rvc" />
				<column name="busHour" />
				<column name="tndrName" />
				<column name="tndrCnt" aggregate="sum" />
				<column name="tndrTtl" aggregate="sum" />
			</columns>
			<orders>
				<order name="busHour" direction="ASC" />
				<order name="tndrName" direction="ASC" />
			</orders>
		</subjectArea>
	</query>
</queries>
<parameters>
...
</parameters>

<report>
	<frame type="table" name="Tender Media by Revenue Center" query-name="Query0">
		<groups>
			<group name="Total">
				<group-item name="organizationId" data-type="integer" />
				<group-expr name="AllTndrCnt" type="sum" column="tndrCnt" />
				<group-expr name="AllTndrTtl" type="sum" column="tndrTtl" />
				<group-calc name="AllPrctTndrTtl" data-type="percent">1</group-calc>
			</group>
			<group name="RvcAggregates">
				<group-item name="rvc" data-type="text" />
				<group-expr name="RvcTndrCnt" type="sum" column="tndrCnt" />
				<group-expr name="RvcTndrTtl" type="sum" column="tndrTtl" />
				<group-calc name="RvcPrctTndrTtl" data-type="percent">RvcTndrTtl / AllTndrTtl</group-calc>
			</group>
		</groups>
		<bands>
			<band type="table-column-header">
				<cell type="text" print-width="68" alignment="left" data-format="text">Name</cell>
				<cell type="text" print-width="68" alignment="right" data-format="text">Tender Count</cell>
				<cell type="text" print-width="68" alignment="right" data-format="text">Tender Amount</cell>
				<cell type="text" print-width="68" alignment="right" data-format="text">Percent of Total Tender Amount</cell>
			</band>
			<band type="table-group-header" group-name="Total">
				<cell type="text" print-width="68" alignment="left" data-format="text">TOTAL</cell>
				<cell type="column" print-width="68" alignment="right" data-format="integer">AllTndrCnt</cell>
				<cell type="column" print-width="68" alignment="right" data-format="currency">AllTndrTtl</cell>
				<cell type="column" print-width="68" alignment="right" data-format="percent">AllPrctTndrTtl</cell>
			</band>
			<band type="table-group-header" group-name="RvcAggregates">
				<cell type="column" print-width="68" alignment="left" data-format="text">rvc</cell>
				<cell type="column" print-width="68" alignment="right" data-format="integer">RvcTndrCnt</cell>
				<cell type="column" print-width="68" alignment="right" data-format="currency">RvcTndrTtl</cell>
				<cell type="column" print-width="68" alignment="right" data-format="percent">RvcPrctTndrTtl</cell>
			</band>
			<band type="table-body">
				<cell type="column" print-width="68" alignment="left" data-format="text">tndrName</cell>
				<cell type="column" print-width="68" alignment="right" data-format="integer">tndrCnt</cell>
				<cell type="column" print-width="68" alignment="right" data-format="currency">tndrTtl</cell>
				<cell type="expr" print-width="68" alignment="right" data-format="percent" name="TotalPercentage">tndrTtl / AllTndrTtl</cell>
			</band>
		</bands>
	</frame>
	...
</report>