Oracle 通过其中一个数据集的一列在重复节分组中绑定多个datatable

Oracle 通过其中一个数据集的一列在重复节分组中绑定多个datatable,oracle,bi-publisher,Oracle,Bi Publisher,我在Oracle BI Publisher报告中有重复部分。在这个中继器中,我想绑定来自两个不同数据模型(数据集)的两个数据表。这两个数据集都与一个公共列链接。现在问题在于链接dt1.col1-->dt2.col1,dt1数据集会重复整个dt2记录。因此,将显示重复的记录。如何避免这种情况?您需要使用一个变量来保持链接。这里有一个基本的例子 如果您有数据集: <data> <set1> <row> <attribute1>A</attribu

我在Oracle BI Publisher报告中有重复部分。在这个中继器中,我想绑定来自两个不同数据模型(数据集)的两个数据表。这两个数据集都与一个公共列链接。现在问题在于链接dt1.col1-->dt2.col1,dt1数据集会重复整个dt2记录。因此,将显示重复的记录。如何避免这种情况?

您需要使用一个变量来保持链接。这里有一个基本的例子

如果您有数据集:

<data>
<set1>
<row>
<attribute1>A</attribute1>
<attribute2>A1</attribute2>
<attribute3>A11</attribute3>
</row>
<row>
<attribute1>B</attribute1>
<attribute2>B1</attribute2>
<attribute3>B11</attribute3>
</row>
<row>
<attribute1>C</attribute1>
<attribute2>C1</attribute2>
<attribute3>C11</attribute3>
</row>
</set1>
<set2>
<row>
<attribute1>A</attribute1>
<attribute4>A2</attribute4>
<attribute5>A22</attribute5>
</row>
<row>
<attribute1>B</attribute1>
<attribute4>B2.1</attribute4>
<attribute5>B22.1</attribute5>
</row>
<row>
<attribute1>B</attribute1>
<attribute4>B2.2</attribute4>
<attribute5>B22.2</attribute5>
</row>
</set2>
</data>

你能用你已有的程序更新吗?比如for eaches和if语句?若你们能提供一个XML数据样本,那个也会有帮助。我已经使用了在线编辑器。作为一个新手,我不知道如何为你提供同样的服务。请建议。
<?for-each:data/set1/row?>
<?xdoxslt:set_variable($_XDOCTX, 'v_record', attribute1)?>
Record: <?attribute1?>
Attribute2: <?attribute2?>
Attribute3: <?attribute3?>
Linked Records:
<?for-each:../../set2/row?>
<?if:xdoxslt:get_variable($_XDOCTX,'v_record')=attribute1?>
--Attribute4: <?attribute4?>
--Attribute5: <?attribute5?>
<?end if?>
<?end for-each?>
End

<?end for-each?>
Record: A
Attribute2: A1
Attribute3: A11
Linked Records:
--Attribute4: A2
--Attribute5: A22
End

Record: B
Attribute2: B1
Attribute3: B11
Linked Records:
--Attribute4: B2.1
--Attribute5: B22.1
--Attribute4: B2.2
--Attribute5: B22.2
End

Record: C
Attribute2: C1
Attribute3: C11
Linked Records:
End