I have the below XML and XSLT. I need to create a simple report that counts unique <RECKEY> elements sums the <INVOICE_AMOUNT>. I am missing something since it's not counting unique records but all records.
The result should be:
Unique Count: 3 Total Amount: $1351.32
Thanks in advance!
xslt
The result should be:
Unique Count: 3 Total Amount: $1351.32
Thanks in advance!
Code:
<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
<TABLE>
<ROW>
<RECKEY>50001489LTEST_D2</RECKEY>
<INVOICE_AMOUNT>1034.3</INVOICE_AMOUNT>
</ROW>
<ROW>
<RECKEY>50001489LTEST_D2</RECKEY>
<INVOICE_AMOUNT>1034.3</INVOICE_AMOUNT>
</ROW>
<ROW>
<RECKEY>50001489LTEST_D2</RECKEY>
<INVOICE_AMOUNT>1034.3</INVOICE_AMOUNT>
</ROW>
<ROW>
<RECKEY>50001489LTEST_D2</RECKEY>
<INVOICE_AMOUNT>1034.3</INVOICE_AMOUNT>
</ROW>
<ROW>
<RECKEY>50001538AP-41168</RECKEY>
<INVOICE_AMOUNT>144.62</INVOICE_AMOUNT>
</ROW>
<ROW>
<RECKEY>50001538AP-41169</RECKEY>
<INVOICE_AMOUNT>172.4</INVOICE_AMOUNT>
</ROW>
</TABLE>
</ROOT>
xslt
Code:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="[URL unfurl="true"]http://www.w3.org/1999/XSL/Transform"[/URL] version="1.0">
<xsl:output method="xml" encoding="UTF-8" indent="yes"/>
<xsl:key name="recordkey" match="/ROOT/TABLE/ROW" use="RECKEY"/>
<xsl:template match="/ROOT">
Count <xsl:value-of select="count(//TABLE/ROW/RECKEY)"/>
Sum <xsl:value-of select="format-number(sum(//TABLE/ROW/INVOICE_AMOUNT), '0.00')"/>
</xsl:template>
</xsl:stylesheet>