首页 > 解决方案 > Oracle BI Publisher Excel 模板创建 - 字段的值全部出现在一个单元格中

问题描述

我无法掌握为 Oracle BI Publisher 创建 Excel 模板的基础知识。

我在断开连接模式下工作。我可以很好地加载示例 XML 数据并选择字段,但我的输出将在一个单元格中包含命名字段的所有值。如何让每个值填充列中的单元格?

首先,这里是示例 XML 数据:

<?xml version = '1.0' encoding = 'utf-8'?>
<!--Generated by Oracle BI Publisher -Dataengine, datamodel:__891572_Temp1_xdm -->
<DATA_DS>
<G_1>
<EXPENDITURE_TYPE_NAME>Accruals</EXPENDITURE_TYPE_NAME><EXPENDITURE_TYPE_ID>300000001811328</EXPENDITURE_TYPE_ID>
</G_1>
<G_1>
<EXPENDITURE_TYPE_NAME>Accruals sub contractors</EXPENDITURE_TYPE_NAME><EXPENDITURE_TYPE_ID>300000001811332</EXPENDITURE_TYPE_ID>
</G_1>
<G_1>
<EXPENDITURE_TYPE_NAME>Basic</EXPENDITURE_TYPE_NAME><EXPENDITURE_TYPE_ID>300000001803121</EXPENDITURE_TYPE_ID>
</G_1>
<G_1>
<EXPENDITURE_TYPE_NAME>Data Migration</EXPENDITURE_TYPE_NAME><EXPENDITURE_TYPE_ID>300000001811336</EXPENDITURE_TYPE_ID>
</G_1>
<G_1>
<EXPENDITURE_TYPE_NAME>Delivery Drivers</EXPENDITURE_TYPE_NAME><EXPENDITURE_TYPE_ID>300000001811353</EXPENDITURE_TYPE_ID>
</G_1>
</DATA_DS>

这是预览输出的屏幕截图。它包含样本数据中的 5 个值,但都在一个单元格中。

在此处输入图像描述

这是 XDO 元数据:

Version 
ARU-dbdrv   
Extractor Version   
Template Code   
Template Type   TYPE_EXCEL_TEMPLATE
Preprocess XSLT File    
Last Modified Date  
Last Modified By    
    
Data Constraints:   
XDO_?XDOFIELD1? <?EXPENDITURE_TYPE_NAME?>

如果我尝试在此字段上应用分组,它确实将值放入一列中的单独单元格中,但它只是重复应用示例数据中的第一个值,如下所示。

在此处输入图像描述

这是带有分组的 XDO 元数据:

Version     
ARU-dbdrv       
Extractor Version       
Template Code       
Template Type   TYPE_EXCEL_TEMPLATE 
Preprocess XSLT File        
Last Modified Date      
Last Modified By        
        
Data Constraints:       
XDO_?XDOFIELD1? <?EXPENDITURE_TYPE_NAME?>   
XDO_GROUP_?XDOG1?   <xsl:for-each-group select=".//G_1" group-by="./EXPENDITURE_TYPE_NAME"> </xsl:for-each-group>

我想要的输出如下所示:

在此处输入图像描述

感觉好像我在这里遗漏了一些非常明显的东西,但我就是想不通!

谢谢

标签: exceloraclereportingbi-publisheroracle-fusion-middleware

解决方案


在跟随这个视频教程之后,我能够发现错误。

在仅选择一个单元格的情况下使用重复组工具时,它实际上会覆盖初始字段数据引用。

这是我在应用重复组之前的字段浏览器: 在此处输入图像描述

这是之后: 在此处输入图像描述

奇怪的是它保留了 XDO_METADATA 表中的第一个字段引用:

Version     
ARU-dbdrv       
Extractor Version       
Template Code       
Template Type   TYPE_EXCEL_TEMPLATE 
Preprocess XSLT File        
Last Modified Date      
Last Modified By        
        
Data Constraints:       
XDO_?XDOFIELD1? <?EXPENDITURE_TYPE_NAME?>   
XDO_GROUP_?XDOG1?   <xsl:for-each-group select=".//G_1" group-by="./EXPENDITURE_TYPE_NAME"> </xsl:for-each-group>

可能是一个错误,或者更可能只是我不理解的东西!无论如何,通过使用名称管理器(在“公式”选项卡下)手动添加重复组,我可以将分组应用于单个列,而不会覆盖任何预先存在的约束: 在此处输入图像描述


推荐阅读