我有一个节点列表,其中包含我需要分类为特定大小的组的财务记录信息。我似乎无法绕过如何做到这一点......
如果我有一个记录列表,例如:
<Records>
<Record Count="5"/>
<Record Count="5"/>
<Record Count="5"/>
<Record Count="4"/>
<Record Count="4"/>
<Record Count="4"/>
<Record Count="3"/>
<Record Count="3"/>
<Record Count="2"/>
<Record Count="1"/>
<Record Count="1"/>
<Record Count="1"/>
<Record Count="1"/>
</Records>
我想将它们分成5组(或尽可能接近5)
我尝试了一些
的方法<xsl:for-each-group select="Records/Record" group-by="ceiling((@Count + sum(preceding-sibling::Record/@Count)) div 5)">
哪个工作正常,直到遇到所需的总数为止。
<Record Count="4"/> The total thusfar is 27, the ceiling "group" being 6
<Record Count="3"/> The total here is 30, placing the ceiling "group" at also 6
然而,这违反了“组”不能超过@Count总数5的规则。
我怎样才能将这些排序组合成一个最佳组合成5个组的列表?
预期结果将是 群组: 5,5,5,4 + 1,4 + 1,4 + 1,3 + 2,3 + 1
谢谢!