我想創建一個循環,遞增一個變量,然後在一些xsl代碼中使用該變量。下面是我使用的增加計數器代碼:如何在BI Publisher中使用xsl代碼內的xdoxslt變量?
<?xdoxslt:set_variable($_XDOCTX, ‘counter’, 0)?>
<?for-each-group:$g2;./STATUS?>
<?sort:current-group()/STATUS;'ascending';data-type='text'?>
<?xdoxslt:set_variable($_XDOCTX, ‘counter’, xdoxslt:get_variable($_XDOCTX, ‘counter’)
+ count(xdoxslt:distinct_values(current-group()/ACTION)))?>
<?end for-each-group?>
下面的代碼將輸出我需要的數量:
<xsl:value-of select="xdoxslt:get_variable($_XDOCTX, ‘counter’)"/>
所以我知道的循環工作,且變量是有正確的號碼。不過,我需要使用變量下面的代碼:
<xsl:attribute name="number-rows-spanned" xdofo:ctx="block">
<xsl:value-of select="xdoxslt:get_variable($_XDOCTX, ‘counter’)"/>
</xsl:attribute>
當我使用這個代碼中,我得到以下錯誤:
java.lang.NumberFormatException: For input string: ""
我也有嘗試:
<xsl:variable name="rowcount" select="xdoxslt:get_variable($_XDOCTX, ‘counter’)"/>
<xsl:attribute name="number-rows-spanned" xdofo:ctx="block">
<xsl:value-of select="$rowcount"/>
</xsl:attribute>
這會導致相同的錯誤。是否有任何解決方法可以讓我以這種方式使用變量,還是應該找到一種替代解決方案?
這是我試圖創建報告:
Group by Column1
Group by Column2
Column3 | Column4 | column5 | Column6
Group Left | Group Left | Group Left | Number
End Group by Column2
Totals
Column3 | Column4 | column5 | Column6
Group Left | Group Left | Group Left | sum()
End Group by column1
的問題是,在「彙總」表,Column6值被分裂時,有超過1列2的分組。