Subject: [xsl] Totals for conditional sums ?maybe? From: "Christopher Pierce" <Christopher.Pierce@xxxxxxxxxxx> Date: Fri, 2 Dec 2005 20:31:18 -0500 |
Well let me start by saying this is a mess mainly because I have no idea of what I'm doing. After researching this problem I've realized that my style sheet could definitely be formatted better. However I'm just trying to update a baseline version so I didn't want to rewrite the whole thing (little did I know that I would almost anyway). I apologize for including so much entire style sheet below, which I know is bad form having combed the lists for an answer and seeing all the tiny examples, but most of the time I can't seem to comprehend the answers when only a snippet of code is used. What I am trying to do is total the ORDD_TLNA for the base years when //AwardFullData/AwardItemizedLine[count(./periodLinePeriodNumber)<1] and then later total ORDD_TLNA for the option years when //AwardFullData/AwardItemizedLine[count(./periodLinePeriodNumber)>0]"> I have tried so many iterations I have forgotten them all but I think the closest I have gotten is this: <xsl:variable name="TEST" select="//AwardFullData/AwardItemizedLine[count(./periodLinePeriodNumber)< 1]"/> <xsl:variable name="ADDME" select="//AwardFullData/AwardItemizedLine/transactionAmount"/> ... <xsl:value-of select="sum($ADDME[$TEST])"/> The result was NaN (also at one point I checked for only numerical values before sum and received 0) Not even sure if the above was correct I tried to strip the formatting of the data which includes $ and , (I have no control over the data source). <xsl:value-of select="sum((translate($ADDME,'$,',''))[$TEST])"/> THANKS!! Any help would be greatly appreciated I've been looking at the same problem for 2 days. Style sheet .................................. <!--Base Year--> <xsl:for-each select="//AwardFullData/AwardItemizedLine[count(./periodLinePeriodNumber)< 1]"> <xsl:variable name="LNUM" select="./lineNumber"/> <xsl:variable name="SLNUM" select="./subLineNumber"/> <xsl:variable name="CMDT_NM" select="./commodityName"/> <xsl:variable name="QTY_ORIG" select="./originalQuantity"/> <xsl:variable name="QTY_INCR" select="./incrementQuantity"/> <xsl:variable name="QTY_TOTAL" select="./quantity"/> <xsl:variable name="UNIT_OF_MESR" select="./unitOfMeasure"/> <xsl:variable name="UNPR_TA_CH" select="./precreditUnitPriceTransactionAmount"/> <xsl:variable name="UNPR_INCT_TA_CH" select="./precreditUnitPriceIncrementTransactionAmount"/> <xsl:variable name="UNPR_ORIG_TA_CH" select="./originalPrecreditUnitPriceTransactionAmount"/> <xsl:variable name="ORDD_TLNA" select="./transactionAmount"/> <xsl:variable name="ORDD_INCT_TLNA" select="./incrementTransactionAmount"/> <xsl:variable name="ORDD_ORIG_TLNA" select="./originalTransactionAmount"/> <xsl:variable name="DLVR_DT_CH" select="./deliveryDate"/> <xsl:variable name="PERD_PERF_STDT_CH" select="./periodPerformanceStartDate"/> <xsl:variable name="PERD_PERF_ENDT_CH" select="./periodPerformanceEndDate"/> <xsl:variable name="DSCR" select="./description"/> <xsl:variable name="EXT_DSCR" select="./extendedDescription"/> <xsl:variable name="REF_DOC_TYPE" select="./referenceDocumentType"/> <xsl:variable name="REF_DOC_NUM" select="./referenceDocumentNumber"/> <xsl:variable name="REF_LINE_NUM" select="./referenceLineNumber"/> <xsl:variable name="CONTRACT_NUM" select="./contractNumber"/> <xsl:variable name="LINE_STATUS" select="./objectChangeStatus"/> <xsl:variable name="CLIN" select="./contractLineItemNumber"/> <xsl:variable name="PERD_LINE_PERD_NUM" select="./periodLinePeriodNumber"/> <fo:table line-height="0.3in" border-collapse="collapse" table-layout="fixed"> <?ShowGrid true?> <?ShowHeaderGrid true?> <fo:table-column column-number="1" column-width="47px"/> <fo:table-column column-number="2" column-width="180px"/> <fo:table-column column-number="3" column-width="80px"/> <fo:table-column column-number="4" column-width="51px"/> <fo:table-column column-number="5" column-width="88px"/> <fo:table-column column-number="6" column-width="93px"/> <fo:table-header text-align="center"> <fo:table-row> <fo:table-cell border-style="solid"> <fo:block text-align="center" font-family="Helvetica" font-weight="bold" font-size="8pt">Number</fo:block> </fo:table-cell> <fo:table-cell border-style="solid"> <fo:block text-align="center" font-weight="bold">Commodity Name or Service</fo:block> </fo:table-cell> <fo:table-cell border-style="solid"> <fo:block text-align="center" font-weight="bold">Quantity</fo:block> </fo:table-cell> <fo:table-cell border-style="solid"> <fo:block text-align="center" font-weight="bold">Unit of Issue</fo:block> </fo:table-cell> <fo:table-cell border-style="solid"> <fo:block text-align="center" font-weight="bold">Unit Price</fo:block> </fo:table-cell> <fo:table-cell border-style="solid"> <fo:block text-align="center" font-weight="bold">Total Cost ( Inc. disc and tax)</fo:block> </fo:table-cell> </fo:table-row> </fo:table-header> <fo:table-body> ................... <xsl:if test="$PRINT_CHANGE_AMOUNTS"> <fo:block>Original Total: <xsl:value-of select="./originalPrecreditLineTransactionAmount"/> </fo:block> <fo:block>Change Total: <xsl:value-of select="$ORDD_INCT_TLNA"/> </fo:block> </xsl:if> <fo:block>Total: <xsl:value-of select="$ORDD_TLNA"/> </fo:block> <fo:block white-space-collapse="false" font-family="Helvetica" font-size="9pt"> <xsl:value-of select="' '"/> </fo:block> </xsl:for-each> </xsl:for-each> <!--BASE YEAR TOTAL--> <fo:block white-space-collapse="false" border-bottom-style="solid" font-size="9pt"> </fo:block> <fo:block font-weight="bold" font-size="9pt"> <fo:inline>BASE YEAR TOTAL: </fo:inline> </fo:block> <fo:block white-space-collapse="false" border-bottom-style="solid" font-size="9pt"> <xsl:value-of select="' '"/> </fo:block> <!--FOOTER--> <fo:block font-weight="bold" font-size="9pt"> <xsl:value-of select="$FOOTER"/> </fo:block> <fo:block white-space-collapse="false" border-bottom-style="solid" font-size="9pt"> <xsl:value-of select="' '"/> </fo:block> </fo:flow> </fo:page-sequence> </fo:root>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] How to find out if the pr, JBryant | Thread | RE: [xsl] Totals for conditional su, Michael Kay |
Re: [xsl] How to find out if the pr, JBryant | Date | [xsl] group dates by month then day, Kevin Bird |
Month |