Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
PUBLIC CLOUD
PRIVATE CLOUD
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Intelligence (Analytics)
Crosstab limitatiions BIRT 2.2.1
philip88
We have designed Reports using BIRT Crosstab Approach and uploaded to Dev Environment . The current versions BIRT 2.2.1 Crosstab has following limitations.
? No option to place Row Header Columns Titles for Crosstab.
? Alternate Grey shading not working.
? Dynamic Java script sorting not working on Columns on CrossTab.
is there any way to achieve the above limitations ?
Find more posts tagged with
Comments
mwilliams
You are unable to upgrade to a newer version? I don't know that you'll be able to solve the Row header columns, but can you create a sample report with the sample database that shows what you're doing to sort and highlight rows? Thanks.
philip88
<blockquote class='ipsBlockquote' data-author="'mwilliams'" data-cid="78029" data-time="1307375384" data-date="06 June 2011 - 08:49 AM"><p>
You are unable to upgrade to a newer version? I don't know that you'll be able to solve the Row header columns, but can you create a sample report with the sample database that shows what you're doing to sort and highlight rows? Thanks.<br /></p></blockquote>
<br />
As of now we are customized to use 2.2.1 version only, in future we might upgrade to the latest versions.<br />
Not able to attach the report so please find the XML source code .<br />
<br />
We need to acheive :-<br />
<br />
How to hightlight the rows in a crosstab .<br />
i.e, First row should have a gray backround(just for example)<br />
Second roe should have white.<br />
third row again gray<br />
fourth white<br />
.<br />
.<br />
.<br />
.<br />
cotnd<br />
<br />
Can this be achieved in 2.2.1 ? <br />
<br />
Thanks<br />
<br />
Philip Clive
philip88
<?xml version="1.0" encoding="UTF-8"?>
<report xmlns="
http://www.eclipse.org/birt/2005/design"
; version="3.2.14" id="1">
<property name="createdBy">Eclipse BIRT Designer Version 2.2.0.v20070620 Build <2.2.0.v20070626-1003></property>
<property name="units">in</property>
<property name="comments">Copyright (c) 2007 <<Your Company Name here>></property>
<html-property name="description">Creates a blank report with no predefined content.</html-property>
<list-property name="userProperties">
<structure>
<property name="name">Customer Cube.dsOrders.x</property>
<property name="type">integer</property>
<property name="isVisible">false</property>
</structure>
<structure>
<property name="name">Customer Cube.dsOrders.y</property>
<property name="type">integer</property>
<property name="isVisible">false</property>
</structure>
<structure>
<property name="name">Customer Cube.Group1.NewTabularHierarchy1.x</property>
<property name="type">integer</property>
<property name="isVisible">false</property>
</structure>
<structure>
<property name="name">Customer Cube.Group1.NewTabularHierarchy1.y</property>
<property name="type">integer</property>
<property name="isVisible">false</property>
</structure>
<structure>
<property name="name">Customer Cube.dsOrders.width</property>
<property name="type">integer</property>
<property name="isVisible">false</property>
</structure>
<structure>
<property name="name">Customer Cube.dsOrders.height</property>
<property name="type">integer</property>
<property name="isVisible">false</property>
</structure>
<structure>
<property name="name">Customer Cube.Group1.NewTabularHierarchy1.width</property>
<property name="type">integer</property>
<property name="isVisible">false</property>
</structure>
<structure>
<property name="name">Customer Cube.Group1.NewTabularHierarchy1.height</property>
<property name="type">integer</property>
<property name="isVisible">false</property>
</structure>
<structure>
<property name="name">Customer Cube.Group2.NewTabularHierarchy2.x</property>
<property name="type">integer</property>
<property name="isVisible">false</property>
</structure>
<structure>
<property name="name">Customer Cube.Group2.NewTabularHierarchy2.y</property>
<property name="type">integer</property>
<property name="isVisible">false</property>
</structure>
<structure>
<property name="name">Customer Cube.product.NewTabularHierarchy1.x</property>
<property name="type">integer</property>
<property name="isVisible">false</property>
</structure>
<structure>
<property name="name">Customer Cube.dsSales.x</property>
<property name="type">integer</property>
<property name="isVisible">false</property>
</structure>
<structure>
<property name="name">Customer Cube.dsSales.y</property>
<property name="type">integer</property>
<property name="isVisible">false</property>
</structure>
<structure>
<property name="name">Customer Cube.product.NewTabularHierarchy1.y</property>
<property name="type">integer</property>
<property name="isVisible">false</property>
</structure>
<structure>
<property name="name">Customer Cube.product.NewTabularHierarchy1.width</property>
<property name="type">integer</property>
<property name="isVisible">false</property>
</structure>
<structure>
<property name="name">Customer Cube.product.NewTabularHierarchy1.height</property>
<property name="type">integer</property>
<property name="isVisible">false</property>
</structure>
</list-property>
<property name="Customer Cube.dsOrders.x">216</property>
<property name="Customer Cube.dsOrders.y">87</property>
<property name="Customer Cube.Group1.NewTabularHierarchy1.x">426</property>
<property name="Customer Cube.Group1.NewTabularHierarchy1.y">42</property>
<property name="Customer Cube.dsOrders.width">150</property>
<property name="Customer Cube.dsOrders.height">200</property>
<property name="Customer Cube.Group1.NewTabularHierarchy1.width">150</property>
<property name="Customer Cube.Group1.NewTabularHierarchy1.height">200</property>
<property name="Customer Cube.Group2.NewTabularHierarchy2.x">27</property>
<property name="Customer Cube.Group2.NewTabularHierarchy2.y">10</property>
<property name="Customer Cube.product.NewTabularHierarchy1.x">416</property>
<property name="Customer Cube.dsSales.x">135</property>
<property name="Customer Cube.dsSales.y">80</property>
<property name="Customer Cube.product.NewTabularHierarchy1.y">45</property>
<property name="Customer Cube.product.NewTabularHierarchy1.width">150</property>
<property name="Customer Cube.product.NewTabularHierarchy1.height">200</property>
<text-property name="displayName">Blank Report</text-property>
<property name="iconFile">/templates/blank_report.gif</property>
<data-sources>
<oda-data-source extensionID="org.eclipse.birt.report.data.oda.jdbc" name="Data Source" id="6">
<property name="odaDriverClass">org.eclipse.birt.report.data.oda.sampledb.Driver</property>
<property name="odaURL">jdbc:classicmodels:sampledb</property>
<property name="odaUser">ClassicModels</property>
</oda-data-source>
</data-sources>
<data-sets>
<oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet" name="dsSales" id="247">
<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>
<structure>
<property name="position">6</property>
<property name="name">ORDERTOTAL</property>
<property name="dataType">float</property>
</structure>
<structure>
<property name="position">7</property>
<property name="name">ORDERDATE</property>
<property name="dataType">date</property>
</structure>
<structure>
<property name="position">8</property>
<property name="name">STATUS</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">9</property>
<property name="name">CUSTOMERNUMBER</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">10</property>
<property name="name">COUNTRY</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">11</property>
<property name="name">STATE</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">12</property>
<property name="name">CITY</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">13</property>
<property name="name">CUSTOMERNUMBER_13</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">14</property>
<property name="name">PRODUCTNAME</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">15</property>
<property name="name">PRODUCTLINE</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">16</property>
<property name="name">PRODUCTCODE_16</property>
<property name="dataType">string</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>
<structure>
<property name="position">6</property>
<property name="name">ORDERTOTAL</property>
<property name="nativeName">ORDERTOTAL</property>
<property name="dataType">float</property>
<property name="nativeDataType">8</property>
</structure>
<structure>
<property name="position">7</property>
<property name="name">ORDERDATE</property>
<property name="nativeName">ORDERDATE</property>
<property name="dataType">date</property>
<property name="nativeDataType">91</property>
</structure>
<structure>
<property name="position">8</property>
<property name="name">STATUS</property>
<property name="nativeName">STATUS</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
<property name="position">9</property>
<property name="name">CUSTOMERNUMBER</property>
<property name="nativeName">CUSTOMERNUMBER</property>
<property name="dataType">integer</property>
<property name="nativeDataType">4</property>
</structure>
<structure>
<property name="position">10</property>
<property name="name">COUNTRY</property>
<property name="nativeName">COUNTRY</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
<property name="position">11</property>
<property name="name">STATE</property>
<property name="nativeName">STATE</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
<property name="position">12</property>
<property name="name">CITY</property>
<property name="nativeName">CITY</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
<property name="position">13</property>
<property name="name">CUSTOMERNUMBER_13</property>
<property name="nativeName">CUSTOMERNUMBER</property>
<property name="dataType">integer</property>
<property name="nativeDataType">4</property>
</structure>
<structure>
<property name="position">14</property>
<property name="name">PRODUCTNAME</property>
<property name="nativeName">PRODUCTNAME</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
<property name="position">15</property>
<property name="name">PRODUCTLINE</property>
<property name="nativeName">PRODUCTLINE</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
<property name="position">16</property>
<property name="name">PRODUCTCODE_16</property>
<property name="nativeName">PRODUCTCODE</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
</list-property>
<property name="queryText">select CLASSICMODELS.ORDERDETAILS.ORDERNUMBER,
CLASSICMODELS.ORDERDETAILS.PRODUCTCODE,
CLASSICMODELS.ORDERDETAILS.QUANTITYORDERED,
CLASSICMODELS.ORDERDETAILS.PRICEEACH,
CLASSICMODELS.ORDERDETAILS.ORDERLINENUMBER,
CLASSICMODELS.ORDERDETAILS.QUANTITYORDERED * CLASSICMODELS.ORDERDETAILS.PRICEEACH as orderTotal,
CLASSICMODELS.ORDERS.ORDERDATE,
CLASSICMODELS.ORDERS.STATUS,
CLASSICMODELS.ORDERS.CUSTOMERNUMBER,
CLASSICMODELS.CUSTOMERS.COUNTRY,
CLASSICMODELS.CUSTOMERS.STATE,
CLASSICMODELS.CUSTOMERS.CITY,
CLASSICMODELS.CUSTOMERS.CUSTOMERNUMBER,
CLASSICMODELS.PRODUCTS.PRODUCTNAME,
CLASSICMODELS.PRODUCTS.PRODUCTLINE,
CLASSICMODELS.PRODUCTS.PRODUCTCODE
from
CLASSICMODELS.CUSTOMERS,
CLASSICMODELS.ORDERS,
CLASSICMODELS.ORDERDETAILS,
CLASSICMODELS.PRODUCTS
where
CLASSICMODELS.CUSTOMERS.CUSTOMERNUMBER=CLASSICMODELS.ORDERS.CUSTOMERNUMBER
and
CLASSICMODELS.ORDERS.ORDERNUMBER=CLASSICMODELS.ORDERDETAILS.ORDERNUMBER
and
CLASSICMODELS.ORDERDETAILS.PRODUCTCODE=CLASSICMODELS.PRODUCTS.PRODUCTCODE</property>
</oda-data-set>
</data-sets>
<cubes>
<tabular-cube name="salesCube" id="248">
<property name="defaultMeasureGroup">Summary Field</property>
<property name="dimensions">
<tabular-dimension name="customerRegion" id="249">
<property name="defaultHierarchy">NewTabularHierarchy</property>
<property name="hierarchies">
<tabular-hierarchy name="NewTabularHierarchy" id="250">
<property name="levels">
<tabular-level name="COUNTRY" id="251">
<property name="dataType">string</property>
<property name="levelType">dynamic</property>
<property name="columnName">COUNTRY</property>
</tabular-level>
<tabular-level name="STATE" id="252">
<property name="dataType">string</property>
<property name="levelType">dynamic</property>
<property name="columnName">STATE</property>
</tabular-level>
<tabular-level name="CITY" id="253">
<property name="dataType">string</property>
<property name="levelType">dynamic</property>
<property name="columnName">CITY</property>
</tabular-level>
</property>
<property name="dataSet">dsSales</property>
</tabular-hierarchy>
</property>
</tabular-dimension>
<tabular-dimension name="product" id="254">
<property name="defaultHierarchy">NewTabularHierarchy1</property>
<property name="hierarchies">
<tabular-hierarchy name="NewTabularHierarchy1" id="255">
<property name="levels">
<tabular-level name="PRODUCTLINE" id="256">
<property name="dataType">string</property>
<property name="levelType">dynamic</property>
<property name="columnName">PRODUCTLINE</property>
</tabular-level>
<tabular-level name="PRODUCTNAME" id="257">
<property name="dataType">string</property>
<property name="levelType">dynamic</property>
<property name="columnName">PRODUCTNAME</property>
</tabular-level>
</property>
<property name="dataSet">dsSales</property>
</tabular-hierarchy>
</property>
</tabular-dimension>
</property>
<property name="measureGroups">
<tabular-measure-group name="Summary Field" id="259">
<property name="measures">
<tabular-measure name="ORDERTOTAL" id="260">
<property name="function">sum</property>
<expression name="measureExpression">dataSetRow["ORDERTOTAL"]</expression>
<property name="dataType">float</property>
</tabular-measure>
</property>
</tabular-measure-group>
</property>
<property name="dataSet">dsSales</property>
</tabular-cube>
</cubes>
<styles>
<style name="crosstab" id="4">
<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-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-detail" id="219">
<property name="backgroundColor">#EDEEF3</property>
<structure name="numberFormat">
<property name="category">Unformatted</property>
</structure>
</style>
<style name="crosstab-header" id="218">
<property name="backgroundColor">#4E5A7A</property>
<property name="fontWeight">bold</property>
<property name="color">#FFFFFF</property>
</style>
</styles>
<page-setup>
<simple-master-page name="Simple MasterPage" id="2">
<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>
<grid id="111">
<property name="width">100%</property>
<column id="112">
<property name="width">1.625in</property>
</column>
<column id="113">
<property name="width">3.2in</property>
</column>
<row id="114">
<property name="style">BackgroundLightGray</property>
<cell id="115">
<property name="style">BackgroundLightGray</property>
<image id="124">
<property name="source">file</property>
<expression name="uri">"images/classicModels.PNG"</expression>
</image>
</cell>
<cell id="117">
<property name="style">BackgroundLightGray</property>
<property name="verticalAlign">middle</property>
<label id="118">
<property name="fontFamily">sans-serif</property>
<property name="fontSize">20pt</property>
<property name="fontWeight">bold</property>
<property name="color">#000000</property>
<text-property name="text">Classic Models, Inc.</text-property>
</label>
<text id="119">
<property name="fontFamily">sans-serif</property>
<property name="contentType">html</property>
<text-property name="content"><![CDATA[701 Gateway Boulevard,<BR>
San Francisco, CA 94107<BR>
<BR>]]></text-property>
</text>
<label id="120">
<property name="fontFamily">sans-serif</property>
<property name="fontSize">18pt</property>
<property name="fontWeight">bold</property>
<text-property name="text">Products Sales Across Regions</text-property>
</label>
</cell>
</row>
<row id="121">
<property name="height">0.25in</property>
<cell id="122"/>
<cell id="123"/>
</row>
</grid>
<extended-item extensionName="Crosstab" id="258">
<property name="measures">
<extended-item extensionName="MeasureView" id="271">
<property name="measure">ORDERTOTAL</property>
<property name="detail">
<extended-item extensionName="CrosstabCell" id="272">
<property name="content">
<data name="ORDERTOTAL" id="274">
<property name="resultSetColumn">ORDERTOTAL</property>
</data>
</property>
</extended-item>
</property>
<property name="aggregations">
<extended-item extensionName="AggregationCell" id="283">
<property name="aggregationOnColumn">product/PRODUCTLINE</property>
<property name="content">
<data id="284">
<property name="resultSetColumn">ORDERTOTAL_product/PRODUCTLINE</property>
</data>
</property>
</extended-item>
<extended-item extensionName="AggregationCell" id="287">
<property name="aggregationOnRow">customerRegion/CITY</property>
<property name="content">
<data id="288">
<property name="resultSetColumn">ORDERTOTAL_customerRegion/CITY</property>
</data>
</property>
</extended-item>
<extended-item extensionName="AggregationCell" id="289">
<property name="content">
<data id="290">
<property name="resultSetColumn">ORDERTOTAL_1</property>
</data>
</property>
</extended-item>
<extended-item extensionName="AggregationCell" id="293">
<property name="aggregationOnRow">customerRegion/COUNTRY</property>
<property name="aggregationOnColumn">product/PRODUCTLINE</property>
<property name="content">
<data id="294">
<property name="resultSetColumn">ORDERTOTAL_customerRegion/COUNTRY_product/PRODUCTLINE</property>
</data>
</property>
</extended-item>
<extended-item extensionName="AggregationCell" id="295">
<property name="aggregationOnRow">customerRegion/COUNTRY</property>
<property name="content">
<data id="296">
<property name="resultSetColumn">ORDERTOTAL_customerRegion/COUNTRY</property>
</data>
</property>
</extended-item>
</property>
<property name="header">
<extended-item extensionName="CrosstabCell" id="273"/>
</property>
</extended-item>
</property>
<property name="rows">
<extended-item extensionName="CrosstabView" id="261">
<property name="grandTotal">
<extended-item extensionName="CrosstabCell" id="282">
<property name="content">
<label id="285">
<text-property name="text">Grand Total</text-property>
</label>
</property>
</extended-item>
</property>
<property name="views">
<extended-item extensionName="DimensionView" id="262">
<property name="dimension">customerRegion</property>
<property name="levels">
<extended-item extensionName="LevelView" name="NewLevel View" id="263">
<property name="level">customerRegion/COUNTRY</property>
<property name="sort">
<sort-element>
<expression name="key">data["COUNTRY"]</expression>
<property name="direction">desc</property>
</sort-element>
</property>
<property name="member">
<extended-item extensionName="CrosstabCell" id="264">
<property name="content">
<data name="COUNTRY" id="265">
<property name="resultSetColumn">COUNTRY</property>
</data>
</property>
</extended-item>
</property>
<property name="aggregationHeader">
<extended-item extensionName="CrosstabCell" id="292">
<property name="content">
<label id="297">
<text-property name="text">Total</text-property>
</label>
</property>
</extended-item>
</property>
</extended-item>
<extended-item extensionName="LevelView" name="NewLevel View2" id="276">
<property name="level">customerRegion/STATE</property>
<property name="member">
<extended-item extensionName="CrosstabCell" id="277">
<property name="content">
<data name="STATE" id="278">
<property name="resultSetColumn">STATE</property>
</data>
</property>
</extended-item>
</property>
</extended-item>
<extended-item extensionName="LevelView" name="NewLevel View3" id="279">
<property name="level">customerRegion/CITY</property>
<property name="member">
<extended-item extensionName="CrosstabCell" id="280">
<property name="content">
<data name="CITY" id="281">
<property name="resultSetColumn">CITY</property>
</data>
</property>
</extended-item>
</property>
</extended-item>
</property>
</extended-item>
</property>
</extended-item>
</property>
<property name="columns">
<extended-item extensionName="CrosstabView" id="266">
<property name="grandTotal">
<extended-item extensionName="CrosstabCell" id="286">
<property name="content">
<label id="291">
<text-property name="text">Grand Total</text-property>
</label>
</property>
</extended-item>
</property>
<property name="views">
<extended-item extensionName="DimensionView" id="267">
<property name="dimension">product</property>
<property name="levels">
<extended-item extensionName="LevelView" name="NewLevel View1" id="268">
<property name="level">product/PRODUCTLINE</property>
<property name="filter">
<filter-condition-element>
<expression name="expr">data["PRODUCTLINE"]</expression>
<property name="operator">ne</property>
<expression name="value1">"Classic Cars"</expression>
</filter-condition-element>
</property>
<property name="member">
<extended-item extensionName="CrosstabCell" id="269">
<property name="content">
<data name="PRODUCTLINE" id="270">
<property name="resultSetColumn">PRODUCTLINE</property>
</data>
</property>
</extended-item>
</property>
</extended-item>
</property>
</extended-item>
</property>
</extended-item>
</property>
<property name="cube">salesCube</property>
<list-property name="boundDataColumns">
<structure>
<property name="name">COUNTRY</property>
<expression name="expression">dimension["customerRegion"]["COUNTRY"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">PRODUCTLINE</property>
<expression name="expression">dimension["product"]["PRODUCTLINE"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">ORDERTOTAL</property>
<expression name="expression">measure["ORDERTOTAL"]</expression>
<property name="dataType">float</property>
</structure>
<structure>
<property name="name">STATE</property>
<expression name="expression">dimension["customerRegion"]["STATE"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">CITY</property>
<expression name="expression">dimension["customerRegion"]["CITY"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">ORDERTOTAL_product/PRODUCTLINE</property>
<expression name="expression">measure["ORDERTOTAL"]</expression>
<property name="dataType">float</property>
<simple-property-list name="aggregateOn">
<value>product/PRODUCTLINE</value>
</simple-property-list>
<property name="aggregateFunction">sum</property>
</structure>
<structure>
<property name="name">ORDERTOTAL_customerRegion/CITY</property>
<expression name="expression">measure["ORDERTOTAL"]</expression>
<property name="dataType">float</property>
<simple-property-list name="aggregateOn">
<value>customerRegion/CITY</value>
</simple-property-list>
<property name="aggregateFunction">sum</property>
</structure>
<structure>
<property name="name">ORDERTOTAL_1</property>
<expression name="expression">measure["ORDERTOTAL"]</expression>
<property name="dataType">float</property>
<property name="aggregateFunction">sum</property>
</structure>
<structure>
<property name="name">ORDERTOTAL_customerRegion/COUNTRY_product/PRODUCTLINE</property>
<expression name="expression">measure["ORDERTOTAL"]</expression>
<property name="dataType">float</property>
<simple-property-list name="aggregateOn">
<value>customerRegion/COUNTRY</value>
<value>product/PRODUCTLINE</value>
</simple-property-list>
<property name="aggregateFunction">sum</property>
</structure>
<structure>
<property name="name">ORDERTOTAL_customerRegion/COUNTRY</property>
<expression name="expression">measure["ORDERTOTAL"]</expression>
<property name="dataType">float</property>
<simple-property-list name="aggregateOn">
<value>customerRegion/COUNTRY</value>
</simple-property-list>
<property name="aggregateFunction">sum</property>
</structure>
</list-property>
</extended-item>
</body>
</report>
mwilliams
Take a look at the report attached. It shows one way to script to alternate background colors for rows in a crosstab in 2.2.1. The script is in the initialize of the report design and in the onCreate of each element in the crosstab. As you'll notice, since there are no script methods for the crosstab or crosstab cells, I had to do the script on the element and use the getParent() function to grab the cell that the element is in the set the highlight. Let me know if you have any questions.