Я пытаюсь использовать XSLT 2.0, чтобы суммировать все индивидуальные продажи [VOL] для продукта [Виджеты] для каждого года/годаQtr, сгруппированные по их салесте, отделу. Там может быть несколько типов продуктов, я оставил его как один тип здесь, чтобы попытаться упростить код.XSLT 2 группа и сумма значений
- Я сумел использовать для каждого, чтобы получить список значений YearQtr в конкретном годе, но я не мог понять, как получить четкий список все года и YearQtr элементов, которые отображаются как ребенок SalesPerson/Performance.
- Я пробовал currentgroup(), но не вижу, как указать группировку, чтобы получить только сумму на уровне департамента, а не для каждого SalesPerson.
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>
Я не совсем понимаю, почему все ваши 'yearqtr's имеют ID 1, когда половина из них' Q2'. Это ошибка? Результат вашего примера также не показывает, как вы хотите представлять отдельных продавцов. – JLRishe
Привет, да. я просто скопировал вставку, чтобы сделать примеры, извините. Я бы ожидал, что идентификатор yearmonth для yearqtr = 1 будет 1, 2 или 3 – leejkennedy