|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: for-each and summing based on group
> When changing the xsl from 1.0 to 2.0 there
> were errors.
> Is it simpler to do that, or use Muenchian grouping for the Customer?
If you were saying that a stylesheet that worked under 1.0 didn't work under
a 2.0 processor, then this is unusual and it would be nice to know the
details.
Michael Kay
http://www.saxonica.com/
>
>
> <xsl:for-each select="Trade">
>
> <xsl:sort select="Customer"/>
>
> <tr class="r{position() mod 2}">
>
> <td><xsl:value-of select="Customer"/> </td>
>
> <td><xsl:value-of select="TradeId"/><xsl:text/></td>
>
> <td><xsl:value-of select="Type"/><xsl:text/></td>
>
> <td align="right">
> <xsl:value-of select="format-number(sum(Step
>
> [concat(substring(MinFlowDate,7),substring(MinFlowDate,1,2),su
> bstring(MinFlowDate,4,2))>=
> concat(substring($global,7),substring($global,1,2),substring($
> global,4,2))]
>
> [concat(substring(MinFlowDate,7),substring(MinFlowDate,1,2),su
> bstring(MinFlowDate,4,2))<
> concat(substring($global,7)+3,substring($global,1,2),substring
> ($global,4,2))]
> /StepCharge)+ sum(Step
>
> [concat(substring(MinFlowDate,7),substring(MinFlowDate,1,2),su
> bstring(MinFlowDate,4,2))>=
> concat(substring($global,7),substring($global,1,2),substring($
> global,4,2))]
>
> [concat(substring(MinFlowDate,7),substring(MinFlowDate,1,2),su
> bstring(MinFlowDate,4,2))<
> concat(substring($global,7)+3,substring($global,1,2),substring
> ($global,4,2))]
> /StepSetoff) , '###,###,##0')"/>
> </td>
>
> </xsl:for-each>
>
> Thanks,
> Dmitri
>
> -----Original Message-----
> From: Michael Kay <mike@xxxxxxxxxxxx>
> Sent: Jan 5, 2005 4:50 AM
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: RE: for-each and summing based on group
>
> First read up about standard grouping techniques such as
> Muenchian grouping
> at http://www.jenitennison.com/xslt/grouping
>
> Computing a subtotal for each group is then a minor variant of the
> technique: instead of merely iterating over the items in the
> group using
> xsl:for-each, you can assign the node-set comprising the group to a
> variable, and then sum over that using the sum() function.
>
> Like all grouping problems, it's much easier in 2.0:
>
> <xsl:for-each-group select="rows" group-by="columnA">
> <xsl:apply-templates select="current-group()"/>
> <subtotal><xsl:value-of
> select="sum(current-group()/columnB)"/></subtotal>
> </xsl:for-each-group>
>
> Michael Kay
> http://www.saxonica.com/
>
> > -----Original Message-----
> > From: dsk [mailto:dmitrik@xxxxxxxxxxxxxx]
> > Sent: 05 January 2005 04:09
> > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> > Subject: for-each and summing based on group
> >
> >
> > within a for-each there might be various sets of values which
> > produce the
> > following grid, where val is equal to a number
> >
> > a val val val
> > a val val val
> > a val val val
> > b val val val
> > b val val val
> > c val val val
> > c val val val
> >
> > what is the best way to insert a sum line for the first
> > column a, one for b, and one for c.
> >
> > is a nested for each needed? or checking to see if the
> > following value is
> > not equal to the preceding, then then summing?
> >
> > thanks,
> > Dmitri
> >
> > ---
> > Outgoing mail is certified Virus Free.
> > Checked by AVG anti-virus system (http://www.grisoft.com).
> > Version: 6.0.802 / Virus Database: 545 - Release Date: 11/26/2004
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








