Subject: [xsl] Sorting on the SUM aggregate From: "David Petersen" <david@xxxxxxxxxxxxxx> Date: Thu, 3 Apr 2003 16:57:19 -0600 |
I have the following XML document and XSL to which have been the subject of another question on this list. The XSL creates a presentation that shows the totals for each BrochureName. The problem with the code is that it sorts across the whole document so when you look at the presentation, it appears that it isn't sorted if one of the aggregate fields are selected to sort on. Does anyone know of a way to sort on the result of the Aggregate SUM? <xsl:for-each select="RECORD[count(. | key('listofbrochures',BrochureName)[1]) = 1]"> <xsl:sort select="*[local-name()=$sortfield]" order="{$sortorder}" data-type="{$datatype}" /> <xsl:variable name="currentGroup" select="key('listofbrochures', BrochureName)" /> <tr> <xsl:attribute name="bgcolor"> <xsl:choose> <xsl:when test="(position() mod 2) = 0">#d3d3d3</xsl:when> <xsl:otherwise>#ffffff</xsl:otherwise> </xsl:choose> </xsl:attribute> <td nowrap="true" class="dataValue"> <xsl:value-of select="BrochureName"/> </td> <td align="center" class="dataValue"> <xsl:value-of select="format-number(BrochureID,'#,##0')"/> </td> <td align="right" class="dataValue"> <xsl:value-of select="format-number(sum($currentGroup/ProjectedUnits),'#,##0')"/> </td> <td align="right" class="dataValue"> <xsl:value-of select="format-number(sum($currentGroup/SalesRepProjectedUnits),'#,##0') "/> </td> <td align="right" class="dataValue"> <xsl:value-of select="format-number(sum($currentGroup/ProjectedForActual),'#,##0')"/> </td> <td align="right" class="dataValue"> <xsl:value-of select="format-number(sum($currentGroup/SalesRepProjectedForActual),'#,# #0')"/> </td> <td align="right" class="dataValue"> <xsl:value-of select="format-number(sum($currentGroup/ActualUnits),'#,##0')"/> </td> <td align="right" class="dataValue"> <xsl:value-of select="format-number(sum($currentGroup/RemainingProjected),'#,##0')"/> </td> </tr> </xsl:for-each> <?xml version="1.0"?> <DATA> <RECORD> <SalesPersonID>FB02</SalesPersonID> <SalesRepFullName>Salesman 1</SalesRepFullName> <BrochureID>165</BrochureID> <BrochureName>BROCHURE 1</BrochureName> <GroupName>DistRep</GroupName> <SeasonName>Spring 2003</SeasonName> <ProjectedUnits>500</ProjectedUnits> <SalesRepProjectedUnits>300</SalesRepProjectedUnits> <ProjectedForActual>0</ProjectedForActual> <SalesRepProjectedForActual>0</SalesRepProjectedForActual> <ActualUnits>0</ActualUnits> <RemainingProjected>500</RemainingProjected> </RECORD> <RECORD> <SalesPersonID>FB02</SalesPersonID> <SalesRepFullName>Salesman 2</SalesRepFullName> <BrochureID>165</BrochureID> <BrochureName>BROCHURE 1</BrochureName> <GroupName>DistRep</GroupName> <SeasonName>Spring 2003</SeasonName> <ProjectedUnits>500</ProjectedUnits> <SalesRepProjectedUnits>300</SalesRepProjectedUnits> <ProjectedForActual>0</ProjectedForActual> <SalesRepProjectedForActual>0</SalesRepProjectedForActual> <ActualUnits>0</ActualUnits> <RemainingProjected>500</RemainingProjected> </RECORD> <RECORD> <SalesPersonID>FB02</SalesPersonID> <SalesRepFullName>Salesman 1</SalesRepFullName> <BrochureID>165</BrochureID> <BrochureName>BROCHURE 2</BrochureName> <GroupName>DistRep</GroupName> <SeasonName>Spring 2003</SeasonName> <ProjectedUnits>500</ProjectedUnits> <SalesRepProjectedUnits>300</SalesRepProjectedUnits> <ProjectedForActual>0</ProjectedForActual> <SalesRepProjectedForActual>0</SalesRepProjectedForActual> <ActualUnits>0</ActualUnits> <RemainingProjected>500</RemainingProjected> </RECORD> <RECORD> <SalesPersonID>FB02</SalesPersonID> <SalesRepFullName>Salesman 2</SalesRepFullName> <BrochureID>165</BrochureID> <BrochureName>BROCHURE 2</BrochureName> <GroupName>DistRep</GroupName> <SeasonName>Spring 2003</SeasonName> <ProjectedUnits>500</ProjectedUnits> <SalesRepProjectedUnits>300</SalesRepProjectedUnits> <ProjectedForActual>0</ProjectedForActual> <SalesRepProjectedForActual>0</SalesRepProjectedForActual> <ActualUnits>0</ActualUnits> <RemainingProjected>500</RemainingProjected> </RECORD> </DATA> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] FO stylesheets for xhtml, G. Ken Holman | Thread | [xsl] Re: Sorting on the SUM aggreg, Dimitre Novatchev |
Re: [xsl] generate full xpath name , Ray Tayek | Date | [xsl] testing for descendants probl, Mac Martine |
Month |