我有一个项目列表的主数据集,它包含"项目ID";columb和用于每个项目的不同信息的多个子集;项目ID";以及";值";列。数据集通过"项目ID"列连接。我的双发布者数据模型看起来像这个
我的目标是创建下表。
我需要的桌子
当我使用BI Publisher的报告编辑器并应用以下步骤时;
- 插入表格
- 将项目ID添加为"中的第一列;主";数据集
- 添加子数据集中的值列
它工作得非常好,并且匹配了每个值的项目id和主数据集的项目id。
但我需要使用excel模板,但我不能得到相同的表格使用excel模板。我尝试了几个重复的部分组合,但都不起作用。
如何将每行的子节点连接到父节点?
由于保密原因,我不能分享截图,也没有任何模板副本。
提前谢谢。
选项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?>
感谢您的帮助,我以前无法共享任何屏幕截图或代码,因为我的电脑中没有。但我在电脑上安装了BI Publisher,并尝试重新创建示例数据。
我的数据集
我正在尝试创建一个这样的表表I要创建
这就是我的xdo_metadata表的样子。
XDO_?XDOFIELD2? <?NAME?>
XDO_?XDOFIELD2? <?TASK_COUNT?>
XDO_?XDOFIELD3? <?TASK_COUNT?>
XDO_?XDOFIELD4? <?TASK_COUNT?>
XDO_GROUP_?XDOG1? <xsl:for-each select=".//PROJECT">
但它并没有像我预期的那样起作用。它创建了如下表格首次尝试时输出
我发现了为什么它不起作用,因为我对所有的值列都使用了相同的别名。
后来,我尝试在字段名之前更改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也可以。
我希望它能帮助那些将来有问题的人。