Oracle BI Publisher Excel 连接父节点和子节点的模板

Oracle BI Publisher Excel Template Connecting Parent And Child Nodes

我有一个项目列表的主数据集,其中包含“项目 ID”列和多个子集,用于每个项目的不同信息,其中包含“项目 ID”和“值”列。数据集通过项目 ID 列连接。 my bi publisher data model looks like this

我的目标是在下面创建table。

the table I need to

当我使用 BI Publisher 的报表编辑器并应用以下步骤时;

  1. 插入一个table
  2. 将项目 ID 添加为“主要”数据集中的第一列。
  3. 从子数据集中添加值列。

它工作得非常好,并且匹配了每个值的项目 ID 和主数据集的项目 ID。

但我需要使用 excel 模板,但我无法使用 excel 模板获得相同的 table。我尝试了几个重复部分组合,但没有一个有效。

如何将每一行的子节点连接到父节点?

由于保密原因,我无法分享截图,也没有任何模板副本。

提前致谢。

不确定您的数据 structure/XML 是如何设置的。或者为什么您不能更新数据集上的 SQL 以合并那里的数据,但这些可能会有所帮助:

选项 1

<?for-each:PROJECT?>
<?xdoxslt:set_variable($_XDOCTX, 'v_PROJECT', PROJECT_ID)?>

<?for-each:DATASET_1/RECORD?> 
<?if:xdoxslt:get_variable($_XDOCTX,'v_PROJECT')=PROJECT_ID?>
<?VALUE?>
<?end if?>
<?end for-each?>

<?end for-each?>

选项 2

<?for-each:PROJECT?>
<?xdoxslt:set_variable($_XDOCTX, 'v_PROJECT', PROJECT_ID)?>

<?for-each:DATASET_1/RECORD[PROJECT_ID = xdoxslt:get_variable($_XDOCTX,'v_PROJECT')]?> 
<?VALUE?>
<?end for-each?>

<?end for-each?>

感谢您的帮助,我之前无法分享任何屏​​幕截图或代码,因为我的电脑中没有。但是我在我的 PC 上安装了 BI Publisher 并尝试重新创建示例数据。

My data set

我正在尝试创建一个像这样的 table Table I want to create

This is my what xdo_metadata sheet looks like.

XDO_?XDOFIELD2?   <?NAME?>
XDO_?XDOFIELD2?   <?TASK_COUNT?>
XDO_?XDOFIELD3?   <?TASK_COUNT?>
XDO_?XDOFIELD4?   <?TASK_COUNT?>
XDO_GROUP_?XDOG1? <xsl:for-each select=".//PROJECT">

但它并没有像我预期的那样工作。它创建了一个如下所示的 table Output in first try

我发现了为什么它不起作用,因为我对所有值列使用了相同的别名。

后来我尝试在字段名称之前使用父节点进行更改 xdo_metadata,它工作得很好;

XDO_?XDOFIELD2?   <?NAME?>
XDO_?XDOFIELD2?   <?./SET1/TASK_COUNT?>
XDO_?XDOFIELD3?   <?./SET2/TASK_COUNT?>
XDO_?XDOFIELD4?   <?./SET3/TASK_COUNT?>
XDO_GROUP_?XDOG1? <xsl:for-each select=".//PROJECT">

我想在每个查询中使用唯一的别名,如 TASK_COUNT1、TASK_COUNT2、TASK_COUNT3 也可以。

希望对以后遇到问题的朋友有所帮助