我有以下数据模型:
<SALE_LIST>
<SALE>
<YEAR>2010</YEAR>
<ITEM>100001</ITEM>
<AMOUNT>1,199.00</AMOUNT>
</SALE>
<SALE>
<YEAR>2010</YEAR>
<ITEM>100002</ITEM>
<AMOUNT>1,200.00</AMOUNT>
</SALE>
<SALE>
<YEAR>2012</YEAR>
<ITEM>100001</ITEM>
<AMOUNT>1,899.00</AMOUNT>
</SALE>
<SALE>
<YEAR>2012</YEAR>
<ITEM>100003</ITEM>
<AMOUNT>1,649.00</AMOUNT>
</SALE>
<SALE>
<YEAR>2013</YEAR>
<ITEM>100004</ITEM>
<AMOUNT>2,199.00</AMOUNT>
</SALE>
<SALE>
<YEAR>2013</YEAR>
<ITEM>100005</ITEM>
<AMOUNT>3,199.00</AMOUNT>
</SALE>
</SALE_LIST>
在rtf模板中,使用for-each
显示所有YEAR
:
<?for-each:SALE?>
<?YEAR?>
<?end for-each?>
通常,结果将垂直显示,如下所示:
2010
2010
2012
2012
2013
2013
如何水平显示结果,如下:
2010
2010
2012
2012
2013
2013
答案 0 :(得分:2)
<?for-each@inlines:SALE?>
<?YEAR?>
<?end for-each?>
如果要在水平表列中打印值,则需要动态列。您将不得不使用:
<?split–column–header:name?>
<?split–column–data:name?>
如果您在Windows系统上安装了BIP Word插件,您将获得Oracle提供的示例模板。转到您的BI Publisher Desktop文件夹,并检查示例文件夹。在我的系统上,位置是:
C:\Program Files (x86)\Oracle\BI Publisher\BI Publisher Desktop\Template Builder for Word\samples\RTF templates\Advanced\Dynamic Columns
那里会有一个Dynamic Data Columns.doc
文件,它可以很好地解释如何执行此操作。