Serial No| Date | Amount
1 | 10/10/2020 | 2500
2 | 10/10/2020 | 3400
3 | 10/10/2020 | 1100
4 | 8/12/2021 | 2500
Serial No| Date | Amount
1 | 10/10/2020 | 7000
2 | 8/12/2021 | 2500
需要序列号帮助。
根据我的更改,我可以看到
Serial No| Date | Amount
1 | 10/10/2020 | 7000
1 | 8/12/2021 | 2500
在数据分组内添加序号。 但我需要它基于分组记录。
答案分为两部分:
myCrosstabCount = 0;
myCrosstabCount++;
myCrosstabCount;
这是一个带有脚本数据源的最小独立示例。将其存储为 .rptdesign 文件并在 BIRT Report Designer 4.13.0 中运行它
<?xml version="1.0" encoding="UTF-8"?>
<report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.24" id="1">
<property name="createdBy">Eclipse BIRT Designer Version 4.13.0.v202303021806</property>
<list-property name="userProperties">
<structure>
<property name="name">Data Cube2.getSampleData.x</property>
<property name="type">integer</property>
<property name="isVisible">false</property>
</structure>
<structure>
<property name="name">Data Cube2.getSampleData.y</property>
<property name="type">integer</property>
<property name="isVisible">false</property>
</structure>
</list-property>
<property name="Data Cube2.getSampleData.x">135</property>
<property name="Data Cube2.getSampleData.y">80</property>
<property name="units">in</property>
<method name="initialize"><![CDATA[myCrosstabCount = 0;
]]></method>
<property name="iconFile">/templates/blank_report.gif</property>
<property name="bidiLayoutOrientation">ltr</property>
<property name="imageDPI">96</property>
<data-sources>
<script-data-source name="scriptedDataSource" id="4525"/>
</data-sources>
<data-sets>
<script-data-set name="getSampleData" id="4543">
<list-property name="resultSetHints">
<structure>
<property name="position">1</property>
<property name="name">Date</property>
<property name="dataType">date</property>
</structure>
<structure>
<property name="position">2</property>
<property name="name">Amount</property>
<property name="dataType">integer</property>
</structure>
</list-property>
<list-property name="columnHints">
<structure>
<property name="columnName">Date</property>
<text-property name="displayName">Date</text-property>
</structure>
<structure>
<property name="columnName">Amount</property>
<text-property name="displayName">Amount</text-property>
</structure>
</list-property>
<structure name="cachedMetaData">
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">Date</property>
<property name="dataType">date</property>
</structure>
<structure>
<property name="position">2</property>
<property name="name">Amount</property>
<property name="dataType">integer</property>
</structure>
</list-property>
</structure>
<property name="dataSource">scriptedDataSource</property>
<method name="open"><![CDATA[count = 0;
colA = ['2020-10-10','2020-10-10','2020-10-10','2021-12-08'];
colB = [2500,3400,1100,2500];]]></method>
<method name="fetch"><![CDATA[if(count < 4){
row["Date"] = colA[count];
row["Amount"] = colB[count];
count++;
return true;
}
return false;
]]></method>
</script-data-set>
</data-sets>
<cubes>
<tabular-cube name="Data Cube" id="4679">
<property name="dimensions">
<tabular-dimension name="Group" id="4680">
<property name="isTimeType">false</property>
<property name="defaultHierarchy">NewTabularHierarchy1</property>
<property name="hierarchies">
<tabular-hierarchy name="NewTabularHierarchy1" id="4681">
<property name="levels">
<tabular-level name="Date" id="4682">
<property name="dataType">date</property>
<property name="columnName">Date</property>
</tabular-level>
</property>
</tabular-hierarchy>
</property>
</tabular-dimension>
</property>
<property name="measureGroups">
<tabular-measure-group name="Summary Field" id="4683">
<property name="measures">
<tabular-measure name="Amount" id="4684">
<expression name="measureExpression" type="javascript">dataSetRow["Amount"]</expression>
<property name="dataType">integer</property>
</tabular-measure>
</property>
</tabular-measure-group>
</property>
<property name="dataSet">getSampleData</property>
</tabular-cube>
</cubes>
<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>
<extended-item extensionName="Crosstab" extensionVersion="3.7.0" id="4685">
<property name="cube">Data Cube</property>
<property name="measures">
<extended-item extensionName="MeasureView" id="4692">
<property name="measure">Amount</property>
<property name="detail">
<extended-item extensionName="AggregationCell" id="4693">
<property name="aggregationOnRow">Group/Date</property>
<property name="content">
<data id="4694">
<property name="resultSetColumn">Amount_Group/Date</property>
</data>
</property>
</extended-item>
</property>
<property name="header">
<extended-item extensionName="CrosstabCell" id="4695">
<property name="content">
<label id="4696">
<property name="textAlign">left</property>
<text-property name="text">Amount</text-property>
</label>
</property>
</extended-item>
</property>
</extended-item>
</property>
<property name="rows">
<extended-item extensionName="CrosstabView" id="4687">
<property name="views">
<extended-item extensionName="DimensionView" id="4688">
<property name="dimension">Group</property>
<property name="levels">
<extended-item extensionName="LevelView" name="NewLevel View" id="4689">
<property name="level">Group/Date</property>
<property name="member">
<extended-item extensionName="CrosstabCell" id="4690">
<property name="content">
<grid id="4699">
<column id="4700"/>
<column id="4701"/>
<row id="4702">
<cell id="4703">
<data id="4698">
<property name="textAlign">left</property>
<property name="resultSetColumn">Column Binding</property>
</data>
</cell>
<cell id="4704">
<data name="Date" id="4691">
<property name="textAlign">left</property>
<property name="resultSetColumn">Date</property>
</data>
</cell>
</row>
</grid>
</property>
</extended-item>
</property>
</extended-item>
</property>
</extended-item>
</property>
</extended-item>
</property>
<property name="header">
<extended-item extensionName="CrosstabCell" id="4686">
<property name="content">
<label id="4697">
<property name="textAlign">left</property>
<text-property name="text">Date</text-property>
</label>
</property>
</extended-item>
</property>
<list-property name="boundDataColumns">
<structure>
<property name="name">Date</property>
<expression name="expression">dimension["Group"]["Date"]</expression>
<property name="dataType">date</property>
</structure>
<structure>
<property name="name">Amount_Group/Date</property>
<expression name="expression">measure["Amount"]</expression>
<property name="dataType">integer</property>
<simple-property-list name="aggregateOn">
<value>Group/Date</value>
</simple-property-list>
<property name="aggregateFunction">SUM</property>
</structure>
<structure>
<property name="name">Column Binding</property>
<text-property name="displayName">MyCounter</text-property>
<expression name="expression" type="javascript">myCrosstabCount++;
myCrosstabCount;</expression>
<property name="dataType">integer</property>
</structure>
</list-property>
</extended-item>
</body>
</report>