XSLT 2.0 を使用して、製品 [Widgets] のすべての個々の営業担当者 [VOL] を、営業チーム、部門別にグループ化された年/年四半期ごとに合計しようとしています。複数の製品タイプが存在する可能性がありますが、コードを単純化するために、ここでは 1 つのタイプとして残しました。
- 特定の年の YearQtr 値のリストを取得するために for-each を使用することができましたが、SalesPerson/Performance の子として表示されるすべての Year および YearQtr 要素の個別のリストを取得する方法がわかりませんでした.
- currentgroup() を試しましたが、グループ化を指定して、各営業担当者ではなく部門レベルで合計のみを取得する方法がわかりません。
私が扱っているXMLは次のとおりです。
<salesteam id="Team1">
<department id="dept1">
<salespeople>
<salesperson id="98765">
<performance>
<year id="2013">
<yearqtr id="1">
<yearMonth id="1">
<products>
<widgets>
<vol>5</vol>
<val>50000</val>
</widgets>
</products>
</yearMonth>
<yearMonth id="2">
<products>
<widgets>
<vol>10</vol>
<val>100000</val>
</widgets>
</products>
</yearMonth>
<yearMonth id="3">
<products>
<widgets>
<vol>15</vol>
<val>150000</val>
</widgets>
</products>
</yearMonth>
</yearqtr>
<yearqtr id="2">
<yearMonth id="4">
<products>
<widgets>
<vol>20</vol>
<val>200000</val>
</widgets>
</products>
</yearMonth>
<yearMonth id="5">
<products>
<widgets>
<vol>25</vol>
<val>250000</val>
</widgets>
</products>
</yearMonth>
<yearMonth id="6">
<products>
<widgets>
<vol>30</vol>
<val>300000</val>
</widgets>
</products>
</yearMonth>
</yearqtr>
</year>
</performance>
</salesperson>
<salesperson id="12345">
<performance>
<year id="2013">
<yearqtr id="1">
<yearMonth id="1">
<products>
<widgets>
<vol>5</vol>
<val>50000</val>
</widgets>
</products>
</yearMonth>
<yearMonth id="2">
<products>
<widgets>
<vol>10</vol>
<val>100000</val>
</widgets>
</products>
</yearMonth>
<yearMonth id="3">
<products>
<widgets>
<vol>15</vol>
<val>150000</val>
</widgets>
</products>
</yearMonth>
</yearqtr>
<yearqtr id="2">
<yearMonth id="4">
<products>
<widgets>
<vol>20</vol>
<val>200000</val>
</widgets>
</products>
</yearMonth>
<yearMonth id="5">
<products>
<widgets>
<vol>25</vol>
<val>250000</val>
</widgets>
</products>
</yearMonth>
<yearMonth id="6">
<products>
<widgets>
<vol>30</vol>
<val>300000</val>
</widgets>
</products>
</yearMonth>
</yearqtr>
</year>
</performance>
</salesperson>
</salespeople>
</department>
</salesteam>
私が達成したいことは
<table>
<tbody>
<tr>
<th>2013Q1</th>
<th>2013Q2</th>
<th>2013Q3</th>
<th>2013Q4</th>
</tr>
<tr>
<td>30</td>
<td>75</td>
<td>0</td>
<td>0</td>
</tr>
</tbody>
</table>