BI PUBLISHER RTF模板制作PIVOT表和重分组

2019-12-25    seo达人

重分组介绍

语法:<?for-each-group: BASE-GROUP;GROUPING-ELEMENT?>

用法:重分组可以把XML数据做重新分组,这样数据的展示就不一定必须按照XML数据的结构显示。例如原来的XML数据结构是CD类别->CD信息(名称,年份,国家,价格),我们可以用重分组功能按CD年份->CD国家来显示.



重分组应用

1 按照和XML数据不同的结构显示数据

XML数据格式如下:



<CATALOG>

   <CD>

      <TITLE>Empire Burlesque</TITLE>

      <ARTIST>Bob Dylan</ARTIST>

      <COUNTRY>USA</COUNTRY>

      <COMPANY>Columbia</COMPANY>

      <PRICE>10.90</PRICE>

      <YEAR>1985</YEAR>

   </CD>

。。。。。

</CATALOG>



报表打算按照国家和年份重新分组,用到的重分组如下:



<?for-each-group:CD;COUNTRY?>

<?for-each:current-group();YEAR?> 

1

2

这里的current-group()表示当前COUNTRY组下的子分组



2 显示PIVOT报表

XML数据如下:



<ROWSET>

<RESULTS>

 <INDUSTRY>Motor Vehicle Dealers</INDUSTRY>

 <YEAR>2005</YEAR>

 <QUARTER>Q1</QUARTER>

 <SALES>1000</SALES>

</RESULTS>

<RESULTS>

 <INDUSTRY>Motor Vehicle Dealers</INDUSTRY>

 <YEAR>2005</YEAR>

 <QUARTER>Q2</QUARTER>

 <SALES>2000</SALES>

</RESULTS>

<RESULTS>

 <INDUSTRY>Motor Vehicle Dealers</INDUSTRY>

 <YEAR>2004</YEAR>

 <QUARTER>Q1</QUARTER>

 <SALES>3000</SALES>

</RESULTS>

。。。。

         

</ROWSET>



如果想按年份生成PIVOT表,可以用如下TAG实现:



<?for-each-group@column:RESULTS;YEAR?>

<?YEAR?>

<?end for-each-group?>

<?for-each-group:RESULTS;INDUSTRY?>

<?for-each-group@cell:current-group();YEAR?>

<?sum(current-group()//SALES)?>

<?end for-each-group?>

<?end for-each-group?>



这里的@cell是给每个组生成一个CELL




分享本文至:

日历

链接

blogger

蓝蓝 http://www.lanlanwork.com

存档