【发布时间】:2012-03-02 09:06:16
【问题描述】:
我想要一个如下表所示的结果:
**Costc 1000**
Product code Quantity Total amount
SALESCOST 1 120.04
LEASINGRENT 1 59.90
**Costc 2000**
Product code Quantity Total amount
SALESCOST 1 118.94
LEASINGCOST 1 513.34
**Costc 3000**
Product code Quantity Total amount
LEASINGCOST 1 658.24
LEASINGRENT 2 100.80
我的输入文件看起来像这样。
<?xml version="1.0" encoding="iso-8859-1"?>
<Details>
<Detail>
<LineNo>1</LineNo>
<Products>
<ProductCode>SALESCOST</ProductCode>
<ProductDescr>Sales amount asset:997000000000</ProductDescr>
<Quantity>1.00</Quantity>
</Products>
<Costc>
<Value>2000</Value>
</Costc>
<TotAmount>118.94</TotAmount>
</Detail>
<Detail>
<LineNo>2</LineNo>
<Products>
<ProductCode>LEASINGCOST</ProductCode>
<ProductDescr>Leasing cost asset:997000000003</ProductDescr>
</Products>
<Costc>
<Value>2000</Value>
</Costc>
<Quantity>1.00</Quantity>
<TotAmount>513.34</TotAmount>
</Detail>
<Detail>
<LineNo>3</LineNo>
<Products>
<ProductCode>SALESCOST</ProductCode>
<ProductDescr>Sales amount asset:997000000001</ProductDescr>
</Products>
<Costc>
<Value>1000</Value>
</Costc>
<Quantity>1.00</Quantity>
<TotAmount>120.04</TotAmount>
</Detail>
<Detail>
<LineNo>4</LineNo>
<Products>
<ProductCode>LEASINGCOST</ProductCode>
<ProductDescr>Leasing cost asset:997000000002</ProductDescr>
</Products>
<Costc>
<Value>3000</Value>
</Costc>
<Quantity>1.00</Quantity>
<TotAmount>658.24</TotAmount>
</Detail>
<Detail>
<LineNo>5</LineNo>
<Products>
<ProductCode>LEASINGRENT</ProductCode>
<ProductDescr>Leasing interest asset:997000000001</ProductDescr>
</Products>
<Costc>
<Value>3000</Value>
</Costc>
<Quantity>1.00</Quantity>
<TotAmount>48.90</TotAmount>
</Detail>
<Detail>
<LineNo>6</LineNo>
<Products>
<ProductCode>LEASINGRENT</ProductCode>
<ProductDescr>Leasing interest asset:997000000002</ProductDescr>
</Products>
<Costc>
<Value>3000</Value>
</Costc>
<Quantity>1.00</Quantity>
<TotAmount>51.90</TotAmount>
</Detail>
<Detail>
<LineNo>7</LineNo>
<Products>
<ProductCode>LEASINGRENT</ProductCode>
<ProductDescr>Leasing interest asset:997000000002</ProductDescr>
</Products>
<Costc>
<Value>1000</Value>
</Costc>
<Quantity>1.00</Quantity>
<TotAmount>59.90</TotAmount>
</Detail>
如何做到这一点? 它的多级分组以及求和和计数功能,对我来说太复杂了。 非常感谢
【问题讨论】:
-
如果数量确实可以设置为两个级别,则必须调整 Tim 的 XSLT 1.0 解决方案(参见结果,其中 2000/SALESCOST 的数量为 0),同时考虑到第二个级别 (产品内)。请注意,Lukasz 已经对两个级别的数量进行了求和。
-
我已经调整了我的答案,以应对两个不同级别的 Quantity。
标签: xslt xslt-grouping