Subject: Re: [xsl] Display the number of records in a group From: anil kumar <anar.leti@xxxxxxxxx> Date: Tue, 9 Mar 2010 15:40:09 +0530 |
Hi, i got my required out put when i tried like below.. <xsl:template name="ttpgds" match="ARXEURSL" mode="temp2"> <xsl:param name="gdserv" /> <xsl:param name="triangle" /> <xsl:variable name="x"> <xsl:for-each-group select="G_ROW[INTRA_EU_TRX_CODE =($gdserv,$triangle)]" group-by="concat(VAT_TAX_NO,BILL_CUST_NAME,INTRA_EU_TRX_CODE)"> <P><xsl:value-of select="position()"/></P><xsl:text>
</xsl:text> </xsl:for-each-group> </xsl:variable> <xsl:for-each select="$x"> <xsl:value-of select="max(P)"/> </xsl:for-each> </xsl:template> The below condition has not worked for me because <xsl:if test="position()=last()"> last() - this is returning total records in the group G_ROW ( which are 11 ) where as.. postion() - returning position of current record ( in my logic max value of position() is 8, as 11 records are grouping into 8 bcoz of condition group-by="concat(VAT_TAX_NO,BILL_CUST_NAME,INTRA_EU_TRX_CODE) ) Hence the condition "position()=last()" ( 8 = 11) never occurs, so iam failing to display the last record. Thanks for you Time Regards Anil On Tue, Mar 9, 2010 at 11:59 AM, anil kumar <anar.leti@xxxxxxxxx> wrote: > Hi, > > Sorry if i confused you. > > Let me explain more clearly > > My xml consists of 11 records , > ================================ > 123 ABC GOOD 10 > 123 ABC GOOD 20 > 123 ABC GOOD 30 > > 456 DEF GOOD 10 > 789 GHI GOOD 10 > 567 JKL GOOD 10 > > 234 BCD GOOD 20 > 345 CDE GOOD 20 > > 678 TTT TRIANGULATION 30 > 678 TTT TRIANGULATION 20 > > 321 TRT TRIANGULATION 20 > ================================ > > when i used group-by="concat(VAT_TAX_NO,BILL_CUST_NAME,INTRA_EU_TRX_CODE)"> > These 11 records are grouping into "8" records. > and i want to capture this value and show it in o/p > > these are the ways i tried.. > <xsl:value-of select="count(current-group())"/> giving o/p as > <mezo eazon="0A0001D003A">31111121</mezo> > <xsl:value-of select="last()"/> giving o/p as > <mezo eazon="0A0001D003A">1111111111111111</mezo> > <xsl:value-of select="position()"/> giving o/p as > <mezo eazon="0A0001D003A">12345678</mezo> > > > expected o/p > <mezo eazon="0A0001D003A">8</mezo> > > Thanks > Anil > > On Mon, Mar 8, 2010 at 6:46 PM, David Carlisle <davidc@xxxxxxxxx> wrote: >> On 08/03/2010 13:04, anil kumar wrote: >>> >>> How to show the toatal number of records, >>> ima failing to get this by last() >>> because iam grouping 11 records into 8 , so the value of last() is >>> giving 11 which is in correct >>> >>> >> >> I didn't understand that comment, but inside xsl:for-each-group >> >> <xsl:value-of select="last()"/> gives you the number of groups >> >> <xsl:value-of select="count(current-group())"/> gives the number of items in >> the current group. >> >> I'm not sure which of these numbers you want. >> >> David >> >> >> ________________________________________________________________________ >> The Numerical Algorithms Group Ltd is a company registered in England >> and Wales with company number 1249803. The registered office is: >> Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom. >> >> This e-mail has been scanned for all viruses by Star. The service is >> powered by MessageLabs. >> ________________________________________________________________________
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Display the number of rec, David Carlisle | Thread | Re: [xsl] Display the number of rec, David Carlisle |
Re: [xsl] Display the number of rec, David Carlisle | Date | Re: [xsl] Display the number of rec, David Carlisle |
Month |