excel - 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>
我想要的输出如下所示:
感觉好像我在这里遗漏了一些非常明显的东西,但我就是想不通!
谢谢
解决方案
在跟随这个视频教程之后,我能够发现错误。
在仅选择一个单元格的情况下使用重复组工具时,它实际上会覆盖初始字段数据引用。
奇怪的是它保留了 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>
可能是一个错误,或者更可能只是我不理解的东西!无论如何,通过使用名称管理器(在“公式”选项卡下)手动添加重复组,我可以将分组应用于单个列,而不会覆盖任何预先存在的约束:
推荐阅读
- json - 嵌套 JSON 数组上的 Spark SQL
- javascript - 如何使用矩 js 在日期数组中获取最接近的下一个日期?
- hashbytes - Hashbyte 在 SSIS 中显示为 System.Byte[] 而不是 has 值
- dart - 如何将字符串变量值限制为 dart 中的一些预定义值?
- javascript - 数组未定义的错误和长度函数
- javascript - 将鼠标悬停在图标 ReactJS 上时显示文本
- batch-file - 如何让 Geany 使用 Microsoft Windows 终端?
- r - 按组计算R中虚拟变量的平均值
- c# - 以编程方式检查 PDF 可读性
- python - Python is_valid = True/False 变量